[PrimeFaces] selected object est toujours null
Bonjour,
j'ai un problème avec ma sélection dans ma datatable
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
| <?xml version='1.0' encoding='UTF-8' ?>
<h:form id="form_DTServiceProviders">
<!-- DATATABLE SERVICE PROVIDER -->
<p:dataTable id="dt_ServiceProviders" var="serviceProvider"
value="#{serviceProvidersController.listServiceProviders}"
rows="20" paginator="true" rowsPerPageTemplate="10,20,50,100"
emptyMessage="#{msg['dt.service.provider.empty']}"
styleClass="datatable" tableStyle="width:auto">
<!-- COLUMN NAME -->
<p:column headerText="#{msg['dt.service.provider.header.name']}"
sortBy="#{serviceProvider.name}"
filterBy="#{serviceProvider.name}"
styleClass="cell title black" >
<h:outputText value="#{serviceProvider.name}" />
</p:column>
<!-- COLUMN VIEW -->
<p:column styleClass="noborder nobackground checkboxcell">
<p:commandButton update=":formContent:form_DTServiceProviders:dlg_ViewServiceProvider"
oncomplete="PF('dlg_ViewServiceProvider').show()"
icon="ui-icon-search"
title="View">
<f:setPropertyActionListener value="#{serviceProvider}"
target="#{serviceProvidersController.selectedServiceProvider}" />
</p:commandButton>
</p:column>
</p:dataTable>
</div>
<!-- DIALOG VIEW -->
<p:dialog header="#{msg['dlg.service.provider.view.header']}"
widgetVar="dlg_ViewServiceProvider"
dynamic="true" resizable="false" closable="false"
modal="true" appendTo="@(body)">
<p:outputPanel id="dlg_ViewServiceProvider" >
<p:panelGrid columns="2" rendered="#{not empty serviceProvidersController.selectedServiceProvider}">
<h:outputText value="#{msg['dlg.service.provider.view.name']}" />
<h:outputText value="#{serviceProvidersController.selectedServiceProvider.name}" />
<h:outputText value="#{msg['dlg.service.provider.view.notificationUrl']}" />
<h:outputText value="#{serviceProvidersController.selectedServiceProvider.notificationUrl}" />
<h:outputText value="#{msg['dlg.service.provider.view.ip']}" />
<h:outputText value="#{serviceProvidersController.selectedServiceProvider.ip}" />
</p:panelGrid>
<div align="right">
<p:commandButton icon="ui-icon-circle-close" value="Cancel"
onclick="PF('dlg_ViewServiceProvider').hide()"/>
<p:commandButton value="#{msg['dlg.service.provider.btn.ok']}"
onclick="PF('dlg_ViewServiceProvider').hide()"
icon="ui-icon-circle-check"/>
</div>
</p:outputPanel>
</p:dialog>
</h:form>
</ui:composition> |
mon controller :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| @Controller
@ManagedBean
@ViewScoped
public class ServiceProvidersController {
* List ServiceProviders
*/
private List<ServiceProvider> listServiceProviders;
/**
* Selected ServiceProvider
*/
private ServiceProvider selectedServiceProvider;
/**
* Constructor by default
*/
public ServiceProvidersController() {
}
/**
* Method PostContruct
*/
@PostConstruct
public void init() {
selectedServiceProvider = new ServiceProvider();
listServiceProviders = new ArrayList<ServiceProvider>();
listServiceProviders = nsmAdminService.findServiceProviders();
}
public List<ServiceProvider> getListServiceProviders() {
return listServiceProviders;
}
public void setListServiceProviders(List<ServiceProvider> listServiceProviders) {
this.listServiceProviders = listServiceProviders;
}
public ServiceProvider getSelectedServiceProvider() {
System.out.println("" + selectedServiceProvider.getName());
return selectedServiceProvider;
}
public void setSelectedServiceProvider(ServiceProvider selectedServiceProvider) {
this.selectedServiceProvider = selectedServiceProvider;
}
} |
La sélection est toujours null :'(