想象一下,BeanA 绑定到 ViewA.xhtml,BeanB 绑定到 ViewB.xhtml。BeanA 和 BeanB 是支持 bean,每个 bean 只有一个属性:“Object obj;” 与吸气剂和二传手。
现在我在 ViewA 中执行以下操作:
<ui:repeat value="#{someOtherBean.listOfObjects}" var="objSelected">
<h:commandLink value="someValue" action="ViewB">
<f:setPropertyActionListener target="#{beanB.obj}" value="#{objSelected}" />
</h:commandLink>
</ui:repeat>
这很好用!我遍历一个列表,我单击的对象(通过 commandLink)被设置为 BeanB。
问题:我需要使用 GET 请求,所以我不得不使用 h:link 或 h:outputLink(顺便说一句,区别在哪里?)。但是这样做,我不能使用 f:setPropertyActionListener 组件,因为 GET 请求不会触发动作事件。
由于没有动作事件,我必须使用 GET 请求,将对象的 ID 作为参数提供给 BeanB。BeanB 然后使用一个 dao 来获取具有指定 ID 的对象。但是这个sux。我不想使用道。所以我的具体问题:
GET 请求链接的 f:setPropertyActionListener 等价物是什么?单击 ah:link 或 h:outputLink 组件时,如何设置 BackingBean 的属性?
我希望有一个解决方案,提前谢谢。