有人可以验证这些上下文参数是否相同吗?
似乎将javax.faces.PROJECT_STAGE设置为'Development'与将org.apache.myfaces.ERROR_HANDLING设置为'true'具有相同的效果。
我见过很多例子,其中jacax.faces.PROJECT_STAGE和/或faces.DEVELOPMENT显式设置为FALSE,而org.apache.myfaces.ERROR_HANDLING设置为TRUE。
第一印象表明FALSE的初始设置是多余的,我推测使用PROJECT_STAGE更好,因为它与JSF规范的特定实现无关?
由于
<context-param>
<param-name>
org.apache.myfaces.ERROR_HANDLING
</param-name>
<param-value>
true
</param-value>
</context-param>
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
答案 0 :(得分:1)
今天在教科书中找到了答案。
javax.faces.PROJECT_STAGE
为ERROR_HANDLING
级别的用户提供工具。
因此,它们并不等同,但使用一个会带来另一个人的行为。
它是在JSF 2.0中引入的。
由于其在API中的定义,javax.faces.PROJECT_STAGE
更适合首选。
答案 1 :(得分:0)
org.apache.myfaces.ERROR_HANDLING
表示myfaces负责处理错误。通过将值指定为true或false。
facelets.DEVELOPMENT
表示facelets负责处理错误。
这两种机制都可以处理异常并提供详细的堆栈跟踪。
MyFaces提供的错误处理机制在容器的默认错误页面机制之前启动,因此通过将其值设置为false,我们禁用了处理异常的能力。