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/