【发布时间】:2013-11-10 13:30:35
【问题描述】:
我有 p:selectOneMenu,所有值都可以正确查看,但可以选择我列表中的第一个,例如,在我的列表中,我有电子邮件地址,我可以选择所有人,但邮件只发送到其中的第一个列表。我的 JSF 代码:
<p:dataTable value="#{additionalOrdersBean.additionalOrdersList}"
var="additionalOrders" rowIndexVar="lp" id="myTable" editable="true>
<p:column>
<p:selectOneMenu id="recipient" value="#{additionalOrdersBean.mailTo}" converter="#{mailConverter}" required="true" requiredMessage="#{loc['fieldRequired']}">
<f:selectItems value="#{buildingBean.buildingList2}" var="mail" itemLabel="#{mail.mail1}" itemValue="#{mail.mail1}" />
<f:selectItems value="#{buildingBean.buildingList2}" var="mail" itemLabel="#{mail.mail2}" itemValue="#{mail.mail2}" />
<f:selectItems value="#{buildingBean.buildingList2}" var="mail" itemLabel="#{mail.mail3}" itemValue="#{mail.mail3}" />
</p:selectOneMenu>
<h:message for="recipient" style="color:red"/>
<h:commandButton value="#{loc['send']}" action="#{additionalOrdersBean.sendProtocol()}" onclick="sendProtocolDialog.hide()"/>
</p:column>
</p:dataTable>
我的豆子:
private String mail1;
private String mail2;
private String mail3;
public List<Building> getBuildingList2() {
buildingList2 = getBldRepo().findByLocationId(lid);
return buildingList2;
}
谁能知道如何解决它?我不会在选择的地址上发送电子邮件,而不仅仅是我列表中的第一个。谢谢
【问题讨论】:
-
不确定您当前的问题,但我只能说您需要删除
getBuildingList2中的业务逻辑,因为它被多次调用。请参阅stackoverflow.com/q/2090033/1065197。可能解决这个问题也可以解决您当前的问题。 -
但是当我把它放在 p:dialog 中可以正常工作,只有在 p:dataTable 中不行。
-
您是否阅读了链接并理解了问题所在?
标签: jsf primefaces selectonemenu