多对多关系时 person (n-n) work (person 增加work)
一般的都是多对一关系,一 弹出框增加 多,多对多时,增加一个中间变量,
这里是personHome.work,这个很关键[color=red]immediate="true"[/color],[color=blue]actionListener="#{personHome.setWork(personHome.work)}"[/color]
<s:decorate id="workField" template="/layout/edit.xhtml" rendered="#{!workHome.managed}">
<ui:define name="label">请选择</ui:define>
<h:selectOneMenu id="work" immediate="true"
layout="lineDirection" required="true"
value="#{personHome.work}"
>
<s:selectItems value="#{personHome.works}" var="work"
label="#{work.name}" required="true"
noSelectionLabel="请选择" />
<s:convertEntity />
<a:support event="onchange" actionListener="#{personHome.setWorkstage(personHome.workstage)}"
bypassUpdates="false" ajaxSingle="true" reRender="worksInfoDiv"
ignoreDupResponses="true" eventsQueue="default"
/>
</h:selectOneMenu>
</s:decorate>
一般的都是多对一关系,一 弹出框增加 多,多对多时,增加一个中间变量,
这里是personHome.work,这个很关键[color=red]immediate="true"[/color],[color=blue]actionListener="#{personHome.setWork(personHome.work)}"[/color]
<s:decorate id="workField" template="/layout/edit.xhtml" rendered="#{!workHome.managed}">
<ui:define name="label">请选择</ui:define>
<h:selectOneMenu id="work" immediate="true"
layout="lineDirection" required="true"
value="#{personHome.work}"
>
<s:selectItems value="#{personHome.works}" var="work"
label="#{work.name}" required="true"
noSelectionLabel="请选择" />
<s:convertEntity />
<a:support event="onchange" actionListener="#{personHome.setWorkstage(personHome.workstage)}"
bypassUpdates="false" ajaxSingle="true" reRender="worksInfoDiv"
ignoreDupResponses="true" eventsQueue="default"
/>
</h:selectOneMenu>
</s:decorate>
本文介绍在JSF框架中如何实现多对多关系的数据处理。通过使用personHome.work作为中间变量,实现person与work之间的多对多关联。特别关注了页面元素的配置,如选择框的设置和事件监听器的使用。
147

被折叠的 条评论
为什么被折叠?



