【发布时间】:2010-12-14 22:55:33
【问题描述】:
我能以某种方式将 JSF 标记添加到我的 JSF 组件渲染器类吗?我正在尝试这种方式:
writer.append("<f:param name=\"active\" value=\""+tabName+"\"/>");
但是,这个标签并没有被编译器识别为 JSF 标签。
【问题讨论】:
标签: java jsf components
我能以某种方式将 JSF 标记添加到我的 JSF 组件渲染器类吗?我正在尝试这种方式:
writer.append("<f:param name=\"active\" value=\""+tabName+"\"/>");
但是,这个标签并没有被编译器识别为 JSF 标签。
【问题讨论】:
标签: java jsf components
在Renderer response phase 中调用的渲染器中添加JSF 标记为时已晚,无法正常工作。您需要根据您的需要在 java 或 override renderer 中修改组件树。
评论后编辑
因此,您可以在 jsf 页面中执行此操作,就像在 this example 中一样。您需要注意<f:param> 必须是<h:commandLink> 标记的子元素。我认为您的问题是关于如何将参数传递到下一页。这可以通过创建适当的<f:param> 方式来完成,或者像在 Struts 中那样使用隐藏的输入字段。在这两种情况下,您都需要在支持 bean 中有字段来存储值或从请求中获取它。
【讨论】:
<form> 操作 URL,您可能会发现这很困难。看到这个答案:stackoverflow.com/questions/1560601/…,也许这个答案:stackoverflow.com/questions/1526299/…
h:commandLink 需要它(没有其他方法可以使用 <a... 锚提交表单)。