【问题标题】:is it possible to send value from <a4j:support> to bean是否可以将值从 <a4j:support> 发送到 bean
【发布时间】:2012-07-05 08:19:23
【问题描述】:
<rich:tree switchType="client" value="#{Bean.tree}" var="one">
                                <rich:treeNode>

                                    <h:commandLink value="#{one.item1}"
                                        action="#{Bean.getItem()}"
                                        style="color:blue;text-decoration:none;"
                                        title="Click here to view details">
                                        <f:param name="ids" value="#{one.id}">          
                                        </f:param>
                                    </h:commandLink>


                                    <a4j:support event="onclick" reRender="productInformation"

                                                                        action="#{Bean.getItem()}"/>
                               </rich:treeNode>
</rich:tree>

<rich:panel id="productInformation">

</rich:panel>

嗨,我有一个树结构的页面,如果我点击链接,则应该执行相应的操作,但是通过使用 h:commandlink,整个页面将被刷新。所以我要去我这里有问题h:commandlink 我能够通过使用 f:param 将参数传输到 bean,但是通过使用如何访问 bean 的值,请帮助我了解我是 jsf 的新手。

【问题讨论】:

  • 是的,你知道我们如何从 a4j 发送到 bean

标签: jsf ajax4jsf


【解决方案1】:

通过使用 a4j:commandlink 标记并从函数传递参数解决了解决方案。
action="#{Bean.getProductLink(item.paramID)}" style="color:blue;text-decoration:none;" title="#{item.productDescription}" reRender="addproductGuidForms"/>

工作正常。

【讨论】:

    【解决方案2】:

    由于您使用的是 JSF2,因此无需使用 f:param 传递,只需在方法 args 中传递即可

    action="#{Bean.getItem(one.id)}"
    

    顺便说一句,你最好将方法名重命名为action="#{Bean.retrieveItem(one.id)}"

    【讨论】:

    • 这不是 JSF 2.x 特有的。这是特定于 EL 2.2 的。换句话说,只要您使用的是 EL 2.2,它就可以与 JSF 1.x 一起工作。
    • @BalusC,我知道它与 EL 2.2 相关,我只是假设如果他使用 JSF 2,他也会使用 EL 2.2(当然我的假设可能是错误的 :))
    • 我已经换了带有 H:commandlink 到 H:outputtext 的代码,但它仍然无法正常工作,无法在 bean 中检索上述 one.id
    • 这就是我的意思:&lt;h:commandLink value="#{one.item1}" action="#{Bean.retrieveItem(one.id)}" style="color:blue;text-decoration:none;" title="Click here to view details"&gt; &lt;/h:commandLink&gt;
    • 嗨丹尼尔谢谢你的回复.......主要问题是我想用 a4j:support 替换 H:commandlink 因为在使用 h:commandlink 标签时整个页面都在刷新但是我只想刷新页面的一部分,以便显示 iam 用于 h:outputtext,如果我单击任何链接,则应使用 a4j:support 将相应的值传递给 bean。
    猜你喜欢
    • 2016-07-30
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    • 2021-05-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-01
    相关资源
    最近更新 更多