【问题标题】:JSF tags in JSF component rendererJSF 组件渲染器中的 JSF 标记
【发布时间】:2010-12-14 22:55:33
【问题描述】:

我能以某种方式将 JSF 标记添加到我的 JSF 组件渲染器类吗?我正在尝试这种方式:

        writer.append("<f:param name=\"active\" value=\""+tabName+"\"/>");

但是,这个标签并没有被编译器识别为 JSF 标签。

【问题讨论】:

    标签: java jsf components


    【解决方案1】:

    在Renderer response phase 中调用的渲染器中添加JSF 标记为时已晚,无法正常工作。您需要根据您的需要在 java 或 override renderer 中修改组件树。

    评论后编辑
    因此,您可以在 jsf 页面中执行此操作,就像在 this example 中一样。您需要注意&lt;f:param&gt; 必须是&lt;h:commandLink&gt; 标记的子元素。我认为您的问题是关于如何将参数传递到下一页。这可以通过创建适当的&lt;f:param&gt; 方式来完成,或者像在 Struts 中那样使用隐藏的输入字段。在这两种情况下,您都需要在支持 bean 中有字段来存储值或从请求中获取它。

    【讨论】:

    • 例如,在我的渲染器中,我有一些链接,我想知道它们中的哪些被按下了。我不能使用任何 Javascript,但我需要通过该链接传递参数。谷歌说,我需要使用 h:commandLink 来传递参数。还有其他方法,我如何通过链接传递参数?在 Struts 中,我像这样传递它们:qwerty.do?param1=value1&param2=value2。
    • @Yurish - 如果您尝试将参数添加到 &lt;form&gt; 操作 URL,您可能会发现这很困难。看到这个答案:stackoverflow.com/questions/1560601/…,也许这个答案:stackoverflow.com/questions/1526299/…
    • @cetnar - Yurish 说他不能使用 JavaScript,但 h:commandLink 需要它(没有其他方法可以使用 &lt;a... 锚提交表单)。
    • @McDowell 谢谢。 @Yourish 为什么你不能使用 javascript?
    • 也许你有想法,如何正确地去做?也许,使用Javascript。我是 JSF 的新手。搞不懂那个逻辑,JSF中如何传递参数。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-12
    • 2011-02-06
    • 2011-07-07
    • 2011-09-03
    • 2012-11-28
    • 2015-04-20
    • 2011-12-12
    相关资源
    最近更新 更多