See http://www.oracle.com/technetwork/java/filters-137243.html

You should do a chain.doFilter instead of a forward at the end of your method. 
Your filter isn't letting the other filters process the request.

Richard

Sent from my iPhone

On Feb 12, 2011, at 11:34 PM, omid p <[email protected]> wrote:

> Hi,
> Can you not use
> <url-pattern>/faces/*</url-pattern>
> instead of
> <url-pattern>*.faces</url-pattern>
> maybe you corrupt tomahawk filter servlet by changing URL, just a guess
> do you use any other javascript library like jQuery or sth else ?
> 
> On Thu, Feb 10, 2011 at 7:02 PM, AMIR-TAHMASSEB Marc Kamran <
> [email protected]> wrote:
> 
>> Dear all,
>> 
>> I have some of my Tomahawk component encounter problems to be displayed.
>> 
>> More specificaly, components such as
>> - t:inputFileUpload,
>> - t:swapImage
>> - t:popup
>> - t:inputDate
>> generate the following javascript error :
>> Error: xxx_3AtoolsPopupPopup is undefined
>> Error: SI_MM_swapImage is not defined
>> Error: SI_MM_swapImgRestore is not defined
>> Error: orgApacheMyfacesPopup is not defined
>> and so on....
>> 
>> Everything worked well until I added a new filter to my application :
>> 
>> My web.xml :
>> <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>
>> 
>> 
>> This filter, parse the url and try to localize the language code at the
>> begining of it. Then it set the application local languge to this lanaguage
>> and finaly redirect to the appropriate âge.
>> Here is the code :
>> public void doFilter(ServletRequest servletRequest, ServletResponse
>> servletResponse, FilterChain filterChain) throws IOException,
>> ServletException {
>>  HttpServletRequest request = (HttpServletRequest) servletRequest;
>>  HttpServletResponse response = (HttpServletResponse) servletResponse;
>>  boolean redirect = false;
>>  String currentURL = formatURL(request.getServletPath());
>>  String originalUri = request.getRequestURI();
>>  String uri = originalUri;
>>  String contextPath = request.getContextPath();
>>  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);
>> 
>>  }
>>  RequestDispatcher requestDispatcher = request.getRequestDispatcher(uri);
>>  requestDispatcher.forward(request, response);
>> }
>> As i specified, if I remove the filter, everything goes well. But as soon
>> as the filter is active, the tomahawk components are altered :-(
>> 
>> Do someone have an idea ?
>> 
>> Thank in advance,
>> 
>> Marc
>> 
>> 
>> 
>> 
>> *Médiateur européen*
>> 
>> *Marc Kamran Amir-Tahmasseb*
>> 
>> Unité Communication - Développeur web
>> 
>> T. +33 (0)3 88 17 44 10
>> 
>> [email protected]
>> 
>> 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
>> 
>> 
>> 
>> 
>> 
>> 

Reply via email to