我有一个使用MyFaces 1.2.8,Facelets 1.1.14构建的JSF应用程序,并通过Eclipse Ganymede中的插件使用Tomcat 6构建它。
我刚刚安装了上述库的最新版本,并在构建时安装了该应用程序,服务器启动,立即得到以下信息:
javax.servlet.ServletException: javax.crypto.BadPaddingException: Given final block not properly padded
谷歌搜索这一点将我引向this页面,其结果是使用该页面禁用MyFaces和Facelets的错误处理
<context-param>
<param-name>org.apache.myfaces.ERROR_HANDLING</param-name>
<param-value>false</param-value>
</context-param>
<context-param>
<param-name>facelets.DEVELOPMENT</param-name>
<param-value>false</param-value>
</context-param>
<error-page>
<exception-type>javax.servlet.ServletException</exception-type>
<location>/error.jsp</location>
</error-page>
最重要的是使用此:
org.apache.myfaces.USE_ENCRYPTION
设置为false。我不想这样做,但是没有其他有用的信息。其他人是否知道是否有解决此问题的方法?我只是最近才从mojarra迁移而来,我不想回去。
我们认为会降级MyFaces工作吗?我要尝试一下。
谢谢IA。
最佳答案
搜寻之后,我个人的建议是停止在这种情况下使用MyFaces,安装正确的Mojarra运行时以支持您正在执行的项目,确保已正确安装了所有jar(我没有),再次检查facelets配置并阅读手册。使用不同的JSF实现是一种解决方法,但它确实有效。