我正在努力解决Tomcat和Jetty之间的奇怪行为。
在标签文件中,我引用另一个标签(基于SimpleTag),它有两个属性。一个是具有多个值(S,M,L,XL,...)的Enum(PictureScale)。对这个属性使用一个简单的String可以在Jetty上正常工作但在Tomcat上抛出一个Exception。
例外:
javax.servlet.ServletException:
javax.servlet.jsp.JspException:
org.apache.jasper.JasperException: Unable to convert string "S" to class "com.xxx.PictureScale" for attribute "scale": Property Editor not registered with the PropertyEditorManager
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:907)`
标签:
<h:picture picture="${o.titlePicture}" scale="S" />
顺便说一句:我也测试了几个Tomcat版本,总是有相同的结果。
有人知道什么是错的吗?提前谢谢!
答案 0 :(得分:3)
解决方案非常简单(即使花了几天时间才找到它)。我需要做的就是用括号括起来。
<h:picture picture="${o.titlePicture}" scale="${'S'}" />