Dear all, Since I added a custom filter to deal with the local language, I have some problems with some of my forms :-( I user myfaces 1.1.8 + Tomcat 1.1.10 + jsf-faceletes 1.1.14 on a Tomcat 6 server with JDK 1.5 and j2ee-1.4 Here is my problem : I have a contact form and when I submit my form the page is refreshed but nothing happens and the action is not done. Every thing worked well until I added a new filter (LocalLanguageFilter) to deal with the language of navigation. Before my links where like this : http://www.ombudsman.europa.eu/shortcuts/contacts.faces <http://www.ombudsman.europa.eu/shortcuts/contacts.faces> With the filter they will be like this : (http://www.ombudsman.europa.eu/en/shortcuts/contacts.faces) The filter seems to work fine with anything but the Input Text fields :-( In my form I have something like that :
<h:commandLink id="sendButton" action="#{contactForm.send}" title="#{session.messages.shortcuts_contactform_send}"> #{session.messages.shortcuts_contactform_send} </h:commandLink> In my web.xml I have this filter : <filter> <filter-name>localLanguageFilter</filter-name> <filter-class> ec.ep.eo.eoweb.filter.LocalLanguageFilter </filter-class> </filter> <filter-mapping> <filter-name>localLanguageFilter</filter-name> <url-pattern>*.faces</url-pattern> </filter-mapping> In my faces-config : <managed-bean> <managed-bean-name>contactForm</managed-bean-name> <managed-bean-class>ec.ep.eo.eoweb.presentation.bean.form.ContactForm</managed-bean-class> <managed-bean-scope>session</managed-bean-scope> <managed-property> <property-name>services</property-name> <value>#{EOWebServicesImpl}</value> </managed-property> </managed-bean> <navigation-rule> <from-view-id>*</from-view-id> <navigation-case> <from-outcome>go_contacts</from-outcome> <to-view-id>/shortcuts/contacts.xhtml</to-view-id> <redirect /> </navigation-case> </navigation-rule> In my ContactForm, I have a send() method that is never reched :-( : public synchronized String send() { (some action to send an email....) } And finaly, here is my LocalLanguageFilter : public class LocalLanguageFilter implements Filter { ... public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { HttpServletRequest request = (HttpServletRequest) servletRequest; HttpServletResponse response = (HttpServletResponse) servletResponse; String originalUri = request.getRequestURI().toLowerCase(); String uri = originalUri; String contextPath = request.getContextPath().toLowerCase(); if (uri.startsWith(contextPath)) { uri = uri.substring(contextPath.length()); } String[] parts = uri.split(Constants.PATTERN_SLASH); if (parts.length>0 && parts[1].length()==2) { String languageCode=parts[1]; uri = uri.substring(3); ILanguage language = getServices().findLanguageByBusinessKey(languageCode); if (language==null) { language=Constants.ENGLISH; } request.getSession().setAttribute(Constants.SYSTEM_LANGUAGE, language); } request.getRequestDispatcher(uri).forward(request, response); } ... } Thanks in advance for you help Marc Médiateur européen Marc Kamran Amir-Tahmasseb Unité Communication - Développeur web T. +33 (0)3 88 17 44 10 marc.amir-tahmas...@ombudsman.europa.eu <mailto:marc.amir-tahmas...@ombudsman.europa.eu> 1 avenue du Président Robert Schuman CS 30403 F - 67001 Strasbourg Cedex T. + 33 (0)3 88 17 23 13 F. + 33 (0)3 88 17 90 62 www.ombudsman.europa.eu <http://www.ombudsman.europa.eu/>