Jsf 将f:event放在f:metadata中与否有关系吗?

Jsf 将f:event放在f:metadata中与否有关系吗?,jsf,jsf-2,facelets,Jsf,Jsf 2,Facelets,w、 r.t 我很想知道预渲染视图f:event是否放在f:metadata中是否重要。我查看了JavaEE6教程、JavaServerFaces2.0完整参考和核心JSF2,其中没有一个在f:metadata中包含f:event的示例,但我在网上看到了很多这样的示例 JSF2组件参考文件第540页 f:metadata标记封装了用于指定 Facelet视图的元数据,因此必须是 f:视图标记,可能不会出现在模板中。从JSF2.0开始,只有 此标记的目的是封装f:viewParam标记 将f:

w、 r.t


我很想知道
预渲染视图
f:event
是否放在f:metadata中是否重要。我查看了JavaEE6教程、JavaServerFaces2.0完整参考和核心JSF2,其中没有一个在f:metadata中包含f:event的示例,但我在网上看到了很多这样的示例

JSF2组件参考文件第540页

f:metadata标记封装了用于指定 Facelet视图的元数据,因此必须是 f:视图标记,可能不会出现在模板中。从JSF2.0开始,只有 此标记的目的是封装f:viewParam标记

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

否,不严格要求将放置在内部。它可以连接到任何组件。它确实是为了纯粹的自我记录目的而放置在
中,只要你有一堆s,并且想在设置完所有这些视图参数后挂起一个
来调用一个动作。它甚至可以放在那些
的外面/前面,但它使代码不再具有自我记录功能


请注意,在即将发布的JSF2.2中,将引入一个新的
标记,该标记将取代

中的
,谢谢BalusC。我后来发现,是否将f:事件放在模板的f:元数据中似乎很重要(仅限于):
<f:metadata>
    <f:viewParam name="id" value="#{tInputBean.id}" />
    <f:event type="preRenderView" listener="#{tInputBean.init}" />
</f:metadata>