1
<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 的新手。

4

2 回答 2

1

通过使用 a4j:commandlink 标记并从函数传递参数来解决解决方案。
< a4j:commandLink ajaxSingle="true" value="#{item.Description}(#{item.name})"
action="#{Bean.getProductLink(item.paramID)}" style="color:blue;text -装饰:无;” title="#{item.productDescription}" reRender="addproductGuidForms"/>

工作正常。

于 2012-08-29T08:48:20.990 回答
0

由于您使用的是 JSF2,因此无需传递,f:param只需将其传递给方法 args

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

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

于 2012-07-05T10:18:10.390 回答