0

我有一个使用 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。

4

1 回答 1

0

在四处搜寻之后,我自己的建议是在这种情况下停止使用 MyFaces,安装正确的 Mojarra 运行时以支持您正在做的项目,确保您正确安装了所有 jar(我没有安装),仔细检查您的facelets 配置并阅读手册。使用不同的 JSF 实现是一种解决方法,但它确实有效。

于 2010-03-06T10:29:17.237 回答