我有一个使用 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
谷歌搜索这个指向这个页面的结果是使用这个禁用 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
设置为假。我不想这样做,但没有其他有用的信息。有没有人知道这个问题是否有解决方法?我最近才从 mojarra 迁移过来,我不想回去。
我们认为降级 MyFaces 会起作用吗?我要试试。
谢谢 IA。