problem primefaces-extension MasterDetail in wildfly 8.2
Posted: 22 Jan 2016, 17:59
Hello community.
Im using primefaces 5.3, primefaces-extension 4.0 with wildfly 8.2. When I tray use a primefaces-extension MasterDetail, its render MasterDetailLevel, that level is set to 1, but when click at CommandButton with SelectDetailLevel, dont render corresponded MasterDetailLevel, neither call selectLevelListener beans method. My question is: cannot use MasterDetail in wildfly? I need your help.
sorry for my English.
this is my beans class
and this my page
Im using primefaces 5.3, primefaces-extension 4.0 with wildfly 8.2. When I tray use a primefaces-extension MasterDetail, its render MasterDetailLevel, that level is set to 1, but when click at CommandButton with SelectDetailLevel, dont render corresponded MasterDetailLevel, neither call selectLevelListener beans method. My question is: cannot use MasterDetail in wildfly? I need your help.
sorry for my English.
this is my beans class
Code: Select all
@ManagedBean
@ViewScoped
public class TestBean implements Serializable {
/**
*
*/
private static final long serialVersionUID = -5897026551776466853L;
private List<BloodType> bloodTypes;
private BloodType selectedBloodType;
private String action;
public TestBean() {
}
@PostConstruct
private void loadData() {
bloodTypes = new ArrayList<BloodType>();
BloodType bloodType = new BloodType();
bloodType.setCode("Code1");
bloodType.setName("Nombre1");
bloodTypes.add(bloodType);
bloodType = new BloodType();
bloodType.setCode("Code2");
bloodType.setName("Nombre2");
bloodTypes.add(bloodType);
bloodType = new BloodType();
bloodType.setCode("Code3");
bloodType.setName("Nombre3");
bloodTypes.add(bloodType);
}
public int handleNavigation(SelectLevelEvent event) {
return event.getNewLevel();
}
public void prepareAdd() {
selectedBloodType = new BloodType();
}
public void edit() {
System.out.println("Editando....");
}
public List<BloodType> getBloodTypes() {
return bloodTypes;
}
public void setBloodTypes(List<BloodType> bloodTypes) {
this.bloodTypes = bloodTypes;
}
public BloodType getSelectedBloodType() {
return selectedBloodType;
}
public void setSelectedBloodType(BloodType selectedBloodType) {
this.selectedBloodType = selectedBloodType;
}
public String getAction() {
return action;
}
public void setAction(String action) {
this.action = action;
}
Code: Select all
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.org/ui"
xmlns:pe="http://primefaces.org/ui/extensions"
template="/WEB-INF/templates/home.xhtml">
<ui:define name="content">
<h:form id="testFrm">
<pe:masterDetail id="bloodTypeMasterDetail"
selectLevelListener="#{testBean.handleNavigation}"
showBreadcrumb="false">
<pe:masterDetailLevel level="1" levelLabel="Tabla de Prueba">
<p:dataTable id="bloodTypeTblId" value="#{testBean.bloodTypes}" var="bloodType"
paginator="true" rows="10" paginatorPosition="bottom"
paginatorAlwaysVisible="true"
paginatorTemplate="{FirstPageLink} {PreviousPageLink} {PageLinks} {RowsPerPageDropdown} {NextPageLink} {LastPageLink} {CurrentPageReport}"
currentPageReportTemplate="#{msgs.message_empty_table} {startRecord} - {endRecord} #{msgs.label_codify} {totalRecords}"
rowsPerPageTemplate="10,25,50,100"
emptyMessage="#{msgs.message_empty_table}" widgetVar="bloodTypeTbl">
<f:facet name="header">
<p:commandButton id="addButton"
title="#{msgs.button_create}"
action="#{testBean.prepareAdd}" process="@this"
icon="fa fa-bed">
<f:setPropertyActionListener target="#{testBean.action}"
value="#{ActionType.CREATE}" />
<pe:selectDetailLevel level="3" />
</p:commandButton>
<pe:tooltip for="addButton" />
</f:facet>
<p:column headerText="#{msgs.label_codify}"
sortBy="#{bloodType.code}">
<h:outputText value="#{bloodType.code}" />
</p:column>
<p:column headerText="#{msgs.label_bloodType}"
sortBy="#{bloodType.name}">
<h:outputText value="#{bloodType.name}" />
</p:column>
<p:column>
<p:commandButton id="editButton" title="#{msgs.button_edit}"
action="#{testBean.edit()}"
process="@this"
icon="fa fa-bed">
<f:setPropertyActionListener target="#{testBean.selectedBloodType}"
value="#{bloodType}" />
<f:setPropertyActionListener target="#{testBean.action}"
value="#{ActionType.UPDATE}" />
<pe:selectDetailLevel level="2" />
</p:commandButton>
<pe:tooltip for="editButton" />
</p:column>
</p:dataTable>
</pe:masterDetailLevel>
<pe:masterDetailLevel level="2">
<p:fieldset legend="#{msgs.label_bloodType}">
<h:panelGrid columns="4">
<h:panelGroup/>
<h:panelGroup>
<h:outputLabel value="#{msgs.label_bloodFactor}: " />
</h:panelGroup>
<p:outputLabel id="bloodCode"
value="#{testBean.selectedBloodType.code}" required="true"/>
<h:panelGroup/>
<h:panelGroup/>
<h:panelGroup>
<h:outputLabel value="#{msgs.label_bloodGroup}: " />
</h:panelGroup>
<p:outputLabel id="bloodName"
value="#{testBean.selectedBloodType.name}" required="true"/>
<h:panelGroup/>
</h:panelGrid>
</p:fieldset>
</pe:masterDetailLevel>
<pe:masterDetailLevel level="3">
<p:fieldset legend="#{msgs.label_bloodType}">
<h:panelGrid columns="4">
<h:panelGroup />
<h:panelGroup>
<h:panelGroup styleClass="red-asterisk">*</h:panelGroup>
<h:outputLabel value="#{msgs.label_bloodFactor}: " />
</h:panelGroup>
<p:inputText id="bloodCodeEdit"
value="#{testBean.selectedBloodType.code}" required="true"/>
<p:message for="bloodCode" />
<h:panelGroup />
<h:panelGroup>
<h:panelGroup styleClass="red-asterisk">*</h:panelGroup>
<h:outputLabel value="#{msgs.label_bloodGroup}: " />
</h:panelGroup>
<p:inputText id="bloodNameEdit"
value="#{testBean.selectedBloodType.name}" required="true"/>
<p:message for="bloodName" />
</h:panelGrid>
</p:fieldset>
</pe:masterDetailLevel>
</pe:masterDetail>
</h:form>
</ui:define>
</ui:composition>