Jsf 是否可以从<;发送值;a4j:支持>;豆

Jsf 是否可以从<;发送值;a4j:支持>;豆,jsf,ajax4jsf,Jsf,Ajax4jsf,嗨,我有一个树状结构中的页面,如果我点击链接,相应的操作将被执行,但是通过使用h:commandlink,整个页面将被刷新。因此,我要说的是,我在h:commandlink中遇到了一个问题,我可以通过使用f:param将参数传递到bean,但是通过使用如何将值访问到bean请帮助我,我是jsf新手。因为您使用的是JSF2,所以不需要使用f:param进行传递,只需在方法args中传递即可 <rich:tree switchType="client" value="#{Bean.tree}"

嗨,我有一个树状结构中的页面,如果我点击链接,相应的操作将被执行,但是通过使用h:commandlink,整个页面将被刷新。因此,我要说的是,我在h:commandlink中遇到了一个问题,我可以通过使用f:param将参数传递到bean,但是通过使用如何将值访问到bean请帮助我,我是jsf新手。

因为您使用的是JSF2,所以不需要使用
f:param进行传递,只需在方法args中传递即可

<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>

b、 t.w您最好将方法名称重命名为
action=“#{Bean.retrieveItem(one.id)}”

,因为您使用的是JSF2,所以无需使用
f:param
传递,只需在方法参数中传递即可

<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>

b、 t.w您最好将方法名称重命名为
action=“#{Bean.retrieveItem(one.id)}”

通过使用a4j:commandlink标记并从函数传递参数来解决此问题。
< a4j:commandLink ajaxSingle=“true”value=“#{item.Description}(#{item.name})”
action=“#{Bean.getProductLink(item.paramID)}”style=“color:blue;text decoration:none;”title=“#{item.productDescription}”reRender=“addproductGuidForms”/>


工作正常。

通过使用4j:commandlink标记并从函数中传递参数解决了此问题。
< a4j:commandLink ajaxSingle=“true”value=“#{item.Description}(#{item.name})”
action=“#{Bean.getProductLink(item.paramID)}”style=“color:blue;text decoration:none;”title=“#{item.productDescription}”reRender=“addproductGuidForms”/>


工作正常。

是的,你知道我们如何从a4j发送到beanyes吗?你知道我们如何从a4j发送到beanyes吗?这不是JSF 2.x特有的。这是EL 2.2所特有的。换句话说,只要你使用的是EL2.2,它在JSF1.x上也能正常工作。@BalusC,我知道它与EL2.2有关,我只是假设如果他使用JSF2,他也会使用EL2.2(当然我的假设可能是错误的:))我已将代码替换为H:commandlink to H:outputtext,但它仍然不起作用无法在Bean中检索上面的一个.id这就是我的意思:
嗨Daniel谢谢你的回复。。。。。。。主要问题是我想用a4j:support替换H:commandlink,因为当使用H:commandlink标记时,整个页面都在刷新,但我只想刷新页面的一部分,所以为了显示I,我选择H:outputtext,如果我点击任何链接,相应的值应该通过使用a4j:support传递给bean。这不是特定于JSF2.x。这是EL 2.2所特有的。换句话说,只要你使用的是EL2.2,它在JSF1.x上也能正常工作。@BalusC,我知道它与EL2.2有关,我只是假设如果他使用JSF2,他也会使用EL2.2(当然我的假设可能是错误的:))我已将代码替换为H:commandlink to H:outputtext,但它仍然不起作用无法在Bean中检索上面的一个.id这就是我的意思:
嗨Daniel谢谢你的回复。。。。。。。主要问题是我想用a4j:support替换H:commandlink,因为当使用H:commandlink标记时,整个页面都在刷新,但我只想刷新页面的一部分,所以为了显示I,我选择了H:outputtext,如果我点击任何链接,相应的值应该通过使用a4j:support传递给bean。