0

我正在尝试使用 Facelet 标记文件在 panelgrid 中获取可重用的 jsf 1.2 组件组。@Balusc 在如何制作 JSF 复合组件网格?是一个极好的资源。我有几个后续问题:

  1. 在我的 c:when 我如何测试 tagName 本身而不是检查属性。代替

    <c:when test="#{type != 'submit'}">
    

我想检查 tagName 本身来决定如何格式化它。如果'输入'做xxx。

2 这种方法对 jsf 1.2 除了 f:ajax 是否仍然有效?如果是,我可以用 a4j:support ... 替换吗?

4

1 回答 1

0

在我的 c:when 我如何测试 tagName 本身而不是检查属性。

我不确定这个问题有什么意义。听起来你正在接近一些不完全正确的东西。您是否可能在多个标签文件上复制粘贴了完全相同的代码?你不应该那样做。使其成为可重用的<ui:composition>,或者<ui:decoration>您可以在每个标记文件中编写/装饰它,并<ui:param>根据 taglib 文件设置一个固定且唯一的值。


除了 f:ajax 之外,这种方法对 jsf 1.2 是否仍然有效?如果是,我可以用 a4j:support ... 替换吗?

能够创建标记文件不一定是 JSF 特有的,而是所使用的视图技术(在本例中为 Facelets)所特有的。您甚至可以在其前身 JSP 中做类似的事情,另请参阅此答案以获取示例:JSF 1.2 custom component from jsp:include它应该在支持相关视图技术的每个 JSF 版本中都可以正常工作。

至于 ajax 支持,标签文件与您在标签文件中所做的一切无关。如果你想要并且可以使用,<a4j:support>那就去做吧。

于 2012-04-20T01:04:26.203 回答