Bonjour,
J'ai un projet qui fonctionne très bien.
Je viens d'ajouter l'internationalisation avec changement de langue sur un lien.
Tout fonctionne parfaitement (changement de langue) sauf sur les méthode de recherche/submit et recherche/reset.
Voici un aperçu du code.
Le Controller :
La JSP :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 @Controller @RequestMapping(value = "/backupSib") public class BackupSibController { ... @Autowired @Qualifier(value = "backupSibService") private BackupSibService service; ... @RequestMapping(value = "/search1Form") public String search1Form(Model model) { model.addAttribute("backupSibForm", new BackupSibForm()); model.addAttribute("backupSibList", new ArrayList<BackupSib>()); return "backupSib/search1"; } @RequestMapping(value = "/search1Submit", params = { "search" }) public String search1Submit(@ModelAttribute("backupSibForm") BackupSibForm backupSibForm, BindingResult bindingResult, Model model) { List<BackupSib> list = service.findAll(service.prepareSpecifications(backupSibForm.getBackupSib())); model.addAttribute("backupSibForm", backupSibForm); model.addAttribute("backupSibList", list); return "backupSib/search1"; } @RequestMapping(value = "/search1Submit", params = { "reset" }) public String search1Reset() { return "redirect:search1Form"; } ... }
La configuration XML:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 ... <spring:url value="" var="french"> <spring:param name="siteLanguage" value="fr" /> </spring:url> <spring:url value="" var="english"> <spring:param name="siteLanguage" value="en" /> </spring:url> <a href="${french}">French</a> | <a href="${english}">English</a> ...
Tout fonctionne bien, sauf après avoir lancé la recherche, lorsque je change de langue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 ... <mvc:interceptors> <bean class="org.springframework.web.servlet.i18n.LocaleChangeInterceptor"> <property name="paramName" value="siteLanguage" /> </bean> </mvc:interceptors> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basenames"> <list> <value>messages/messages</value> <value>messages/validation</value> </list> </property> <property name="defaultEncoding" value="UTF-8" /> </bean> <bean id="localeResolver" class="org.springframework.web.servlet.i18n.CookieLocaleResolver" /> ...
J'obtiens alors cette erreur.
Je comprends bien que ce paramètre est a une place à part.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 ... Failed URL: http://localhost:8080/BusWeb/backupSib/search1Submit Exception: Parameter conditions "siteLanguage, search" OR "siteLanguage, reset" not met for actual request parameters: backupSib.busId={0}, backupSib.busDateValidationMax={____/__/__ __:__}, backupSib.busDateCreationMax={____/__/__ __:__}, backupSib.busDateHeureDenoMax={____/__/__ __:__}, backupSib.busDateHeureDenoMin={____/__/__ __:__}, backupSib.actif.rooReferId={}, backupSib.entiteSib.ensCode={}, backupSib.busDateCreationMin={____/__/__ __:__}, backupSib.actif.actCode={}, backupSib.busExAnnPsettR.rooReferId={}, backupSib.busExAnnPsettR.annSwiftBranchCode={}, backupSib.busStatut={}, backupSib.busRefSg={}, backupSib.actif.actLibelle={}, backupSib.actif.actCodeIsin={}, search={}, backupSib.busRefSib={}, backupSib.busDateValidationMin={____/__/__ __:__}, backupSib.busExAnnPsettR.annSwiftBankCode={}, backupSib.entiteTeneurCompte.etcCode={}, backupSib.typeOperation.rooReferId={}, backupSib.busFiliere={} org.springframework.web.servlet.mvc.method.RequestMappingInfoHandlerMapping.handleNoMatch(RequestMappingInfoHandlerMapping.java:238) ...
Mais que dois-je faire ?
Merci d'avance.
Partager