jsf - 是否放置 f :event inside f:metadata or not? 有关系吗

标签 jsf jsf-2 facelets

w.r.t。 How to execute action on GET request with f:viewParam?

<f:metadata>
    <f:viewParam name="id" value="#{tInputBean.id}" />
    <f:event type="preRenderView" listener="#{tInputBean.init}" />
</f:metadata>

我很想知道 preRenderView f:event 是否放置在 f:metadata 中是否重要。我检查了 Java EE6 教程、Java Server Faces 2.0 Complete Reference 和 Core JSF2,它们都没有 f:metadata 中的 f:event 示例,但我在网上看到了很多这样的示例。

JSF2 Compl.Ref 表示第 540 页

The f:metadata tag encapsulates the set of elements used to specify the metadata for a Facelet view, and therefore must be a child of the f:view tag and may not appear in a template. As of JSF2.0, the only purpose of this tag is to encapsulate f:viewParam tags.

将 f:event(通常用于支持 f:viewParam)放入 f:metadata 中是否有特殊含义,或者只是为了在视觉/逻辑上将其与 f:viewParam 一起分组?

最佳答案

不, <f:event> 不严格要求放在 <f:metadata> 里面。它可以连接到任何组件。它确实是为了纯粹的自纪录片目的而放置在 <f:metadata> 中。每当你有一堆 <f:viewParam> s 并想挂接 <f:event>在设置所有这些 View 参数后调用操作。它甚至可以放在 <f:viewParam> 之外/之前s,但它使代码不再具有自文档性。

请注意,在即将推出的 JSF 2.2 中,新的 <f:viewAction>将引入标签,该标签将取代 <f:event type="preRenderView"><f:metadata> .

关于jsf - 是否放置 f :event inside f:metadata or not? 有关系吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7343220/

相关文章:

regex - 如何在 JSF 页面中使用 validateRegex 验证 inputText 中的数字字符串

java - JSF 2.2 和身份验证 : redirect condition

jsf - javax.el.PropertyNotWritableException : Illegal Syntax for Set Operation

jsf - ui 中条件渲染子类出现 PropertyNotFoundException :repeat

jsf - 如何在 JSF 页面中通过 EL 将数据放入 View 范围

jsf - 如何在 c :if in Facelets 中使用 OR 条件

eclipse - 如何在 Eclipse 中查看 jsf/facelets 元素的文档

spring - org.springframework.web.jsf.el.SpringBeanFacesELResolver 类必须扩展 javax.el.E​​LResolver 类型

javascript - 异步 java 脚本加载显示错误

java - 如何在 h :selectOneMenu? 中更改值时在 ajax 请求中传递附加参数