【问题标题】:Apache MyFaces ERROR_HANDLING Context Parameter VS javax.faces.PROJECT_STAGEApache MyFaces ERROR_HANDLING 上下文参数 VS javax.faces.PROJECT_STAGE
【发布时间】:2012-05-18 01:40:03
【问题描述】:

谁能验证这些上下文参数是等价的吗?

似乎将 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>

【问题讨论】:

    标签: jsf-2 web.xml myfaces


    【解决方案1】:

    今天在一本教科书中找到了这个答案。

    javax.faces.PROJECT_STAGE 检测ERROR_HANDLING 级别的用户。

    因此它们不是等价的,但使用一个会导致另一个的动作。

    它是在 JSF 2.0 中引入的。

    由于其在 API 中的定义,javax.faces.PROJECT_STAGE 更适合首选。

    【讨论】:

      【解决方案2】:

      org.apache.myfaces.ERROR_HANDLING

      这表明 myfaces 负责处理错误。通过将值指定为 true 或 false。

      作为 facelets.DEVELOPMENT 的地方

      表示 facelets 负责处理错误。

      这两种机制都可以处理异常并提供详细的堆栈跟踪。

      MyFaces 提供的错误处理机制在容器的默认错误页面机制之前启动,因此通过将其值设置为 false,我们禁用了这种处理异常的能力。

      【讨论】:

        猜你喜欢
        • 2011-11-11
        • 2011-08-13
        • 2015-04-08
        • 2023-04-06
        • 2012-11-02
        • 1970-01-01
        • 2013-10-12
        • 2015-07-28
        • 2015-10-22
        相关资源
        最近更新 更多