在我的Java EE 6/JSF 2项目中,我在实体中有一个Map
属性:advantages
Employee
@ElementCollection
private Map<String, Float> advantages;
Run Code Online (Sandbox Code Playgroud)
键表示优势名称,值表示与优势名称关联的成本.这映射到一个包含三列的表Employee_Id
,Advantages
和Advantages_Key
.我需要在我来显示所有映射条目<p:dataTable>
,显示一个List<Employee>
.我怎样才能做到这一点?
我正在研究JSF/Primefaces应用程序.我想阻止在primefaces对话框后面的页面.我试过这段代码:
<h:form id="form">
<p:dataTable id="types" value="#{resourcesTypesMBean.resourceTypes}" var="item"
selection="#{resourcesTypesMBean.selectedResourceType}"
rowKey="#{item.id}" selectionMode="single">
<f:facet name="header" >
<table style="border: hidden">
<tbody >
<tr >
<td align="left" style="border: hidden">
<p:outputLabel value="List of Resources' Types"/>
</td>
<td align="right" style="border: hidden">
<p:commandButton
oncomplete="ResourceTypeDialogNew.show()"
icon="ui-icon-plus" title="add"/>
<p:commandButton id="btnDelete" title="delete
" actionListener="#{resourcesTypesMBean.deleteResourceType()}"
update="types" icon="ui-icon-trash" />
<p:button outcome="Resources.xhtml"
icon="ui-icon-arrowthick-1-w" title="back"/>
</td>
</tr>
</tbody>
</table>
</f:facet>
<p:column headerText="Name">
<p:outputLabel value="#{item.name}"/>
</p:column>
<p:column headerText="Code">
<p:outputLabel value="#{item.code}"/>
</p:column>
</p:dataTable>
</h:form>
<h:form id="newResourceTypeForm">
<p:dialog header="New Resource Type" widgetVar="ResourceTypeDialogNew"
resizable="false" modal="true" appendTo="@(body)" showEffect="explode"
hideEffect="explode" style="position: …
Run Code Online (Sandbox Code Playgroud)