Foren

suppression d'un ligne dans une datatable

amal miftahi, geändert vor 8 Jahren.

suppression d'un ligne dans une datatable

Junior Member Beiträge: 33 Beitrittsdatum: 12.05.15 Neueste Beiträge
Bonjour

j'ai essayé de supprimer un ligne dans une datatable (JSF 5.2, liferay 6.2...) mais j'ai une exception qui se déclenche sur la console :



used by: javax.el.ELException: /html/introback/list_intros.xhtml @45,47 target="#{introBean.selectedIntro}": Error writing 'selectedIntro' on type com.week.intro.bean.IntroBean
at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:139)
at com.sun.faces.facelets.tag.jsf.core.SetPropertyActionListenerHandler$SetPropertyListener.processAction(SetPropertyActionListenerHandler.java:211)
at javax.faces.event.ActionEvent.processListener(ActionEvent.java:88)
at javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:775)
at javax.faces.component.UICommand.broadcast(UICommand.java:300)
at javax.faces.component.UIData.broadcast(UIData.java:1106)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:786)
at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:927)
at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:78)
... 136 more
Caused by: java.lang.NullPointerException
at com.week.intro.bean.IntroBean.setSelectedIntro(IntroBean.java:176)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at javax.el.BeanELResolver.setValue(BeanELResolver.java:142)
at com.sun.faces.el.DemuxCompositeELResolver._setValue(DemuxCompositeELResolver.java:255)
at com.sun.faces.el.DemuxCompositeELResolver.setValue(DemuxCompositeELResolver.java:281)
at org.jboss.el.parser.AstPropertySuffix.setValue(AstPropertySuffix.java:73)
at org.jboss.el.parser.AstValue.setValue(AstValue.java:84)
at org.jboss.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:249)
at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:131)
... 144 more


la méthode supprimer :

public void delete(long id) {
try {
System.out.println("==================delete");
IntroLocalServiceUtil.deleteIntro(id);
} catch (Exception e) {
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_ERROR,
"Echec ! ", "Error Systeme ");
FacesContext.getCurrentInstance().addMessage("messages", msg);
logger.error(e, e);
}
FacesMessage msg = new FacesMessage(FacesMessage.SEVERITY_INFO,
"Bien supprimé", "Bien supprimé");
FacesContext.getCurrentInstance().addMessage("messages", msg);
}

--------------------------------------------

<p:commandButton icon="ui-icon-trash"
id="deleteButton2"
styleClass="buttonAction" immediate="true" >
<f:setPropertyActionListener target="#{introBean.selectedIntro}"
value="#{introo}" immediate="true" />
<p:confirm header="Confirmation" message="Are you sure?"
icon="ui-icon-alert" />
</p:commandButton>

<p:confirmDialog global="true" header="Header"
widgetVar="confirmDeleteUser" appendToBody="true" >
<p:commandButton value="oui" update=":form:introTable"
styleClass="ui-confirmdialog-yes" icon="ui-icon-check"
action="#{introBean.delete(introo)}" />
<p:commandButton value="nom" type="button"
styleClass="ui-confirmdialog-no" icon="ui-icon-close"
oncomplete="confirmDeleteUser.hide()" />
</p:confirmDialog>


voila mon code svp j'ai besoin de votre aide merci avance .