我有一个 selectOneMenu 来管理两个对象 A 和 B 之间的关系。其中 A 是固定的,B 可以通过菜单选择。
在表单上,提交 B 被发送到 bean 以进行进一步处理(创建和保存关系对象 AToB)。
不工作的情况下!
<h:selectOneMenu value=#{b}>
<!-- b items from bean -->
</h:selectOneMenu>
<h:commandButton action="#{bean.addBToSelA(b)}"/>
<managed-bean>
<description>B Entity Request Bean</description>
<managed-bean-name>b</managed-bean-name>
<managed-bean-class>B</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
工作案例!
但是,如果 selectOneMenu 值是不同托管 bean 的嵌套属性,则它可以工作。(以 AToB 为例)
<h:selectOneMenu value=#{aToB.b}>
<!-- b items from bean -->
</h:selectOneMenu>
<h:commandButton action="#{bean.addBToSelA(aToB.b)}"/>
<managed-bean>
<description>AToB Entity Request Bean</description>
<managed-bean-name>aToB</managed-bean-name>
<managed-bean-class>AToB</managed-bean-class>
<managed-bean-scope>request</managed-bean-scope>
</managed-bean>
注意:如果我的“b”只是不同请求托管 bean 的属性就足够了。
有人可以这么友善并解释原因吗?