我正在尝试在Facelets / JSF环境中完成一个小小的调整.我几乎什么都不知道它们是如何组合在一起的.
我在各个页面上定义了一个值为“title”
<ui:define name="title">PageUID_123</ui:define>
<ui:insert name="title"/>
我可以在插入周围包装html标签就好了,但我需要能够输出“title”的值作为另一个元素的属性.我的最终目标是以html呈现,如下所示:
<Meta name="pageid" content="PageUID_123"/>
解决方法
我面前没有工作环境,但我相信你不想使用< ui:define>,而是想要使用< ui:param>然后使用${x}或#{x}(或忘记哪个或如果重要)将它们拉出来.
那么,对于你的例子你会有:
<ui:param name="title" value="PageUID_123" />
然后:
<Meta name="pageid" content="${title}"/>
我唯一担心的是你使用include来拥有漂亮的模板,即
模板:
<html> <head> <Meta name="pageid" content="${title}"/> </head> <body> <ui:insert name="content" /> </body> </html>
内页:
<html xmlns="...so many"> <ui:param name="title" value="PageUID_123" /> <ui:define name="content"> <!-- content goes here --> </ui:define> </html>
我真的不知道那会不会……
编辑:您可能想尝试${title}或#{title}只是因为你现在正在采取行动,它可能只是工作.