Java 我应该在PrettyFaces中使用f:event还是action元素?
目前,我正在使用以下代码:Java 我应该在PrettyFaces中使用f:event还是action元素?,java,jsf,jakarta-ee,prettyfaces,Java,Jsf,Jakarta Ee,Prettyfaces,目前,我正在使用以下代码: public void init() { question = questionBean.findQuestion(questionParamId); } 它由以下命令调用: <f:metadata> <f:viewParam name="id" value="#{questionShowBackingBean.questionParamId}" /> <f:event type="preRenderView"
public void init() {
question = questionBean.findQuestion(questionParamId);
}
它由以下命令调用:
<f:metadata>
<f:viewParam name="id" value="#{questionShowBackingBean.questionParamId}" />
<f:event type="preRenderView" listener="#{questionShowBackingBean.init}" />
</f:metadata>
因此,URL是:
现在我已经开始使用PrettyFaces,我在URL映射元素中看到了
元素,我想知道我是否可以编写{questionShowBackingBean.init}
如果是这样的话,我应该删除元数据元素,还是应该改用它,因为将来它可能会从使用PrettyFaces改变?最后,action
元素中的调用发生在哪里?它是在我现在的听众之前发生的吗?和
标记看起来非常相似,但有一些可能会影响您的决定的巨大差异:
允许您通过返回导航字符串来执行导航
是本机JSF,如果您将来想切换URL重写工具,它可以让您保持可移植性
允许您通过
属性选择调用操作的阶段<代码>通常总是在RENDER\u响应期间同时调用,如果您在JSF操作方法中或在invoke\u应用程序阶段使用此信息,则在确实需要调用它之后调用
s在恢复视图阶段后被调用,但正如我前面所说的,您可以自己控制它
通常我更喜欢使用
,因为它不需要任何
元素,而且它还允许我在任何生命周期处理发生之前导航(使事情更加安全)。那么您将如何绑定路径参数?直接在bean上设置它们?或者您可以将它们作为参数传递给action方法吗?我将按照您的建议,使用PrettyFaces注入绑定路径参数。