我有一个使用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实现是一种解决方法,但它确实有效。

10-05 19:18