将内部标记传递到 Facelet 标签中
我是一位非常初级的 JSP/Facelets 开发人员,需要创建一个新的自定义标签来扩展常见的 ICEFaces 的 commandButton。我希望能够知道如何将自定义标记的开始和结束之间包含的标记传递到命令按钮中。当需要处理 f:param 时,这是必要的。
示例:
<myNS:myTag ...>
<f:param name="name" value="value" />
<f:param name="name2" value="value2" />
</myNS:myTag>
应呈现为
<myMarkup>
<ice:commandButton ...>
<f:param name="name" value="value" />
<f:param name="name2" value="value2" />
</ice:commandButton>
<myMarkup>
个人注释:我对这些技术感到非常困惑。我仍然认为是.NET 4 :(
I'm a very-beginner JSP/Facelets developer needing to create a new custom tag that extends the common ICEFaces's commandButton. I would like to be able to know how to pass the markup included between the custom tag's begin and end into the commandButton. This comes necessary when needing to deal with f:param.
Example:
<myNS:myTag ...>
<f:param name="name" value="value" />
<f:param name="name2" value="value2" />
</myNS:myTag>
Should be rendered as
<myMarkup>
<ice:commandButton ...>
<f:param name="name" value="value" />
<f:param name="name2" value="value2" />
</ice:commandButton>
<myMarkup>
Personal note: I'm very confused about these technologies. I still think in .NET 4 :(
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
尝试改变要求。您想要做的事情很复杂,而且确实不是开始使用 JSF(或 JSP)的好方法。 JSP + JSF 不像 ASP.NET 那样是一种单一的、简单的技术,而是两种不同的技术以复杂的方式分层(这是不推荐使用该组合的原因之一)。即使您设法做您想做的事情,您也会受到 JSF 对象和 JSP 标记的不同生命周期的影响,因此可能无论如何它都不会按您想要的方式工作。
Try and change the requirements. What you want to do is COMPLEX and really not a good way to start working with JSF (or JSP). JSP + JSF is not a single, simple technology like ASP.NET, but rather two different technologies layered in a complicated way (this is one of the reasons why the combination is deprecated). Even if you manage to do what you want, you will be bitten by different lifecycles of JSF objects and JSP tags, so probably it will not work the way you want anyway.
根据更新的问题和评论,您似乎确实使用Facelets(
.xhtml
文件)而不是JSP(.jsp
文件)。在这种情况下,您可以使用
声明自定义标记子级的插入位置。As per the updated question and the comments you seem to be really using Facelets (
.xhtml
files) instead of JSP (.jsp
files). In that case, you can use<ui:insert />
to declare the insert location of the children of a custom tag.