2011-04-21 112 views
0

我是一个非常初学者的JSP/Facelets开发人员,需要创建一个新的自定义标记来扩展常见的ICEFaces的commandButton。我希望能够知道如何将自定义标记的开始和结束之间包含的标记传递给commandButton。这在需要处理f:param时有必要。将内部标记传递到Facelet标记

例子:

<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中认为 :(

回答

2

尝试并更改需求。你想要做的是COMPLEX,而且真的不是开始使用JSF(或JSP)的好方法。像ASP.NET这样的单一简单技术,而是采用复杂方式分层的两种不同技术(这是组合被弃用的原因之一)即使你设法做你想做的事,你也会被不同的生命周期JSF对象和JSP标签,所以也许它不会工作是否仍要方式。

+0

+1因为我真的缺少ASP.NET。我研究了一下,看起来像我必须通过渲染器实现标记。我会再多加一点 – 2011-04-21 17:35:22

+0

@djechelon:所以升级到Facelets不是一个选择吗?作为JSF的视图技术,JSP非常糟糕。 – BalusC 2011-04-21 18:15:23

+0

其实,我刚刚发现,相信我正在创建JSP标签,我**正在创建facelet标签。你认为我所问的是facelets可行吗?我刚刚看到taglib文件以* facelet-taglib *元素开始......我想我应该改写这个问题 – 2011-04-22 08:09:26

0

按照更新的问题,你似乎意见是真正使用Facelets的(.xhtml文件),而不是JSP (.jsp文件)。在这种情况下,您可以使用<ui:insert />来声明自定义标记的子项的插入位置。