JSF 组件渲染器中的 JSF 标记
Posted
技术标签:
【中文标题】JSF 组件渲染器中的 JSF 标记【英文标题】:JSF tags in JSF component renderer 【发布时间】:2010-12-14 22:55:33 【问题描述】:我能以某种方式将 JSF 标记添加到我的 JSF 组件渲染器类吗?我正在尝试这种方式:
writer.append("<f:param name=\"active\" value=\""+tabName+"\"/>");
但是,这个标签并没有被编译器识别为 JSF 标签。
【问题讨论】:
【参考方案1】:在Renderer response phase 中调用的渲染器中添加JSF 标记为时已晚,无法正常工作。您需要根据您的需要在 java 或 override renderer 中修改组件树。
评论后编辑
因此,您可以在 jsf 页面中执行此操作,就像在 this example 中一样。您需要注意<f:param>
必须是<h:commandLink>
标记的子元素。我认为您的问题是关于如何将参数传递到下一页。这可以通过创建适当的<f:param>
方式来完成,或者像在 Struts 中那样使用隐藏的输入字段。在这两种情况下,您都需要在支持 bean 中有字段来存储值或从请求中获取它。
【讨论】:
例如,在我的渲染器中,我有一些链接,我想知道它们中的哪些被按下了。我不能使用任何 javascript,但我需要通过该链接传递参数。谷歌说,我需要使用 h:commandLink 来传递参数。还有其他方法,我如何通过链接传递参数?在 Struts 中,我像这样传递它们:qwerty.do?param1=value1¶m2=value2。 @Yurish - 如果您尝试将参数添加到<form>
操作 URL,您可能会发现这很困难。看到这个答案:***.com/questions/1560601/…,也许这个答案:***.com/questions/1526299/…
@cetnar - Yurish 说他不能使用 JavaScript,但 h:commandLink
需要它(没有其他方法可以使用 <a...
锚提交表单)。
@McDowell 谢谢。 @Yourish 为什么你不能使用 javascript?
也许你有想法,如何正确地去做?也许,使用Javascript。我是 JSF 的新手。搞不懂那个逻辑,JSF中如何传递参数。以上是关于JSF 组件渲染器中的 JSF 标记的主要内容,如果未能解决你的问题,请参考以下文章