Em 05/03/2013 19:45, Konstantin Kolinko escreveu:
> 2013/3/5 Edson Richter <edsonrichter@hotmail.com>:
>> At ServletContextListener I've created, I do register a
>> PropertyEditorManager that is able to convert string into java.util.Date.
>> The registration code is:
>>
>> @Override
>> public void contextInitialized(ServletContextEvent sce) {
>> System.err.println("Property editors: inicializando");
>> PropertyEditorManager.registerEditor(Date.class, DateEditor.class);
>> System.err.println("Property editors: registrados");
>> }
>>
>> @Override
>> public void contextDestroyed(ServletContextEvent sce) {
>> System.err.println("Property editors: iniciando remoção");
>> PropertyEditorManager.registerEditor(Date.class, null);
>> System.err.println("Property editors: desregistrados");
>> }
>>
>> When I run the above code using Java 6 (more precisely, JRockit 6),
>> everything works fine.
>> When I run using JDK 7, I get the following exception (as if not
>> registered):
>>
>> "type Exception report
>> message org.apache.jasper.JasperException: Unable to convert string "" to
>> class "java.util.Date" for attribute "value": Property Editor not registered
>> with the PropertyEditorManager
>>
>> description The server encountered an internal error that prevented it from
>> fulfilling this request.
>> exception
>> javax.servlet.ServletException: org.apache.jasper.JasperException: Unable to
>> convert string "" to class "java.util.Date" for attribute "value": Property
>> Editor not registered with the PropertyEditorManager
>> br.net.studi.servlet.SecurityFilter.doFilter(SecurityFilter.java:98)"
>>
>>
>> Has anyone experienced such error? Can you please help me?
>>
> Is it supposed to be a JVM-wide registration?
It is a App wide registration. It works as expected in JDK 6 (registered
under AppContext), but not in JDK 7 (ThreadGroupContext). My (limited)
understanding of the issue is that the context listener is running under
different ThreadGroup than JSP pages.
Can anyone please point how to register a PropertyEditorManager to be
able to work correctly with JSP in Tomcat under JDK 7 (once EOL of JDK 6
I'll be forced in near future to upgrade our servers - internal policy).
>
> If so, you should not be doing it in a webapp. (It will break other
> applications, cause PermGen memory leaks, etc.) Your editor
> deregistration call will remove editor for any webapp there (e.g. for
> the second copy of your own webapp if it is running at the same time).
>
> E.g. Spring Framework uses its own registry, see
> http://static.springsource.org/spring/docs/3.2.x/javadoc-api/org/springframework/beans/PropertyEditorRegistrySupport.html
I don't think it would be feasible to implement my own
PropertyEditorRegistrySupport because I don't know Tomcat internals
enough to deal with how JSP pages look after PropertyEditors...
Regards,
Edson
>
> Best regards,
> Konstantin Kolinko
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
> For additional commands, e-mail: users-help@tomcat.apache.org
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
|