Suppression ligne DataTable
Bonjour,
j'ai un petit problème concernant dataTable..
Lorsque je clique sur le bouton supprimer dans un ligne du DataTable l'exception suivante s'affiche :
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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78
| javax.servlet.ServletException: #{user.doDelete}: java.lang.NullPointerException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
cause mère
javax.faces.FacesException: #{user.doDelete}: java.lang.NullPointerException
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
javax.faces.component.UICommand.broadcast(UICommand.java:387)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1364)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:318)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:293)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:250)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:463)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
cause mère
javax.faces.el.EvaluationException: java.lang.NullPointerException
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
javax.faces.component.UICommand.broadcast(UICommand.java:387)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1364)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:318)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:293)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:250)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:463)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
cause mère
java.lang.NullPointerException
javax.gyles.models.UserModel.doDelete(UserModel.java:53)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.el.parser.AstValue.invoke(AstValue.java:172)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
javax.faces.component.UICommand.broadcast(UICommand.java:387)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1364)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:318)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:293)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:250)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:463)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
note La trace complète de la cause mère de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.20. |
voici le source de mon code :
UserModel.java
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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| /**
* @author Gyles
**/
package javax.gyles.models;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.gyles.models.ext.ListUser;
import javax.faces.context.FacesContext;
import javax.faces.application.FacesMessage;
public class UserModel extends Object
{
private String nom;
private String prenom;
private ListUser users;
private DataModel dataModel;
public UserModel()
{
if (users == null) users = new ListUser();
if (dataModel == null)
{
dataModel = new ListDataModel();
dataModel.setWrappedData(users.getList());
}
}
public UserModel(String nom, String prenom)
{
this.nom = nom;
this.prenom = prenom;
}
public String doAdd()
{
if (users.isAlreadyRegistered(new UserModel(nom, prenom)))
{
FacesContext.getCurrentInstance().addMessage("ERROR", new FacesMessage("Cet utilisateur est déjà enregistré."));
return null;
}else
{
users.add(new UserModel(nom, prenom));
return null;
}
}
public String doDelete()
{
users.remove((UserModel)dataModel.getRowData());
return null;
}
public String doReset()
{
nom = "";
prenom = "";
return null;
}
public String doShow()
{
return "SUCCESS";
}
public void setNom(String nom)
{
this.nom = nom;
}
public void setPrenom(String prenom)
{
this.prenom = prenom;
}
public void setDataModel(DataModel dataModel)
{
this.dataModel = dataModel;
}
public void setUsers(ListUser users)
{
this.users = users;
}
public String getNom()
{
return nom;
}
public String getPrenom()
{
return prenom;
}
public DataModel getDataModel()
{
return dataModel;
}
public ListUser getUsers()
{
return users;
}
} |
ListUser.java
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
| /**
* @author Gyles
**/
package javax.gyles.models.ext;
import java.util.List;
import java.util.ArrayList;
import javax.gyles.models.UserModel;
public class ListUser extends Object
{
private List<UserModel> list;
public ListUser()
{
if (list == null) list = new ArrayList<UserModel>();
}
public void add(UserModel user)
{
list.add(user);
}
public void remove(UserModel user)
{
list.remove(user);
}
public void clear()
{
list.clear();
}
public boolean isAlreadyRegistered(UserModel user)
{
boolean exists = false;
for (int i = 0; i < list.size(); i++)
{
if (list.get(i).getNom().equals(user.getNom()) && list.get(i).getPrenom().equals(user.getPrenom()))
{
exists = true;
break;
}
}
return exists;
}
public void setList(List<UserModel> list)
{
this.list = list;
}
public List<UserModel> getList()
{
return list;
}
} |
addForm.jsp
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
| <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@taglib uri="http://richfaces.org/rich" prefix="rich" %>
<%@taglib uri="http://richfaces.org/a4j" prefix="ajax" %>
<f:view>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Ajout d'un nouveau utilisateur</title>
</head>
<body>
<br/><center><h:outputText value="NOUVEL UTILISATEUR" style="font-family:verdana; font-weight:bold; font-size:46px;" /><br/><br/></center>
<center><h:outputText id="ERROR" value="" /><rich:message for="ERROR" style="font-family:tahoma; font-weight:bold; font-size:11px; color:red;" /><br/><br/></center>
<center><rich:panel header="Ajout d'un nouveau utilisateur" style="width:380px; height:150px;">
<ajax:form>
<h:panelGrid columns="3" width="380" cellspacing="10">
<h:panelGroup><h:outputText value="Nom :" /></h:panelGroup>
<h:panelGroup><h:inputText id="NOM" value="#{user.nom}" size="25" required="true" requiredMessage="* Champ Obligatoire" /></h:panelGroup>
<h:panelGroup><rich:message for="NOM" style="color:red;" /></h:panelGroup>
<h:panelGroup><h:outputText value="Prénom :" /></h:panelGroup>
<h:panelGroup><h:inputText id="PRENOM" value="#{user.prenom}" size="25" required="true" requiredMessage="* Champ Obligatoire" /></h:panelGroup>
<h:panelGroup><rich:message for="PRENOM" style="color:red;" /></h:panelGroup>
<h:panelGroup><ajax:commandButton value="Enregistrer" action="#{user.doAdd}" reRender="TABLE" /></h:panelGroup>
<h:panelGroup><ajax:commandButton value="Rétablir" action="#{user.doReset}" reRender="NOM, PRENOM" /><rich:spacer width="50px" />
<ajax:commandButton value="Show" action="#{user.doShow}" immediate="true" /></h:panelGroup>
<h:panelGroup></h:panelGroup>
</h:panelGrid><br/><br/><br/><br/><br/>
<center><rich:dataTable id="TABLE" value="#{user.dataModel}" var="user" width="300px">
<rich:column><f:facet name="header"><h:outputText value="NOM" /></f:facet><h:outputText value="#{user.nom}" /></rich:column>
<rich:column><f:facet name="header"><h:outputText value="PRENOM" /></f:facet><h:outputText value="#{user.prenom}" /></rich:column>
<rich:column><f:facet name="header"><h:outputText value="DELETE" /></f:facet><center><ajax:commandButton value="Supprimer" action="#{user.doDelete}" reRender="TABLE" /></center></rich:column>
</rich:dataTable></center>
</ajax:form>
</rich:panel></center>
</body>
</html>
</f:view> |
d'avance Merci..
Nouveau code & nouvelle exception
Citation:
Envoyé par
soffru
Ajoute un breakPoint à la méthode doDelete et debug ton programme tu verras d'où vient le nullPointerException
addForm.jsp
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
| <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@taglib uri="http://richfaces.org/rich" prefix="rich" %>
<%@taglib uri="http://richfaces.org/a4j" prefix="ajax" %>
<f:view>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Ajout d'un nouveau utilisateur</title>
</head>
<body>
<br/><center><h:outputText value="NOUVEL UTILISATEUR" style="font-family:verdana; font-weight:bold; font-size:46px;" /><br/><br/></center>
<center><h:outputText id="ERROR" value="" /><rich:message for="ERROR" style="font-family:tahoma; font-weight:bold; font-size:11px; color:red;" /><br/><br/></center>
<center><rich:panel header="Ajout d'un nouveau utilisateur" style="width:380px; height:150px;">
<ajax:form>
<h:panelGrid columns="3" width="380" cellspacing="10">
<h:panelGroup><h:outputText value="Nom :" /></h:panelGroup>
<h:panelGroup><h:inputText id="NOM" value="#{userModel.nom}" size="25" required="true" requiredMessage="* Champ Obligatoire" /></h:panelGroup>
<h:panelGroup><rich:message for="NOM" style="color:red;" /></h:panelGroup>
<h:panelGroup><h:outputText value="Prénom :" /></h:panelGroup>
<h:panelGroup><h:inputText id="PRENOM" value="#{userModel.prenom}" size="25" required="true" requiredMessage="* Champ Obligatoire" /></h:panelGroup>
<h:panelGroup><rich:message for="PRENOM" style="color:red;" /></h:panelGroup>
<h:panelGroup><ajax:commandButton value="Enregistrer" action="#{userModel.doAdd}" reRender="TABLE" /></h:panelGroup>
<h:panelGroup><ajax:commandButton value="Rétablir" action="#{userModel.doReset}" reRender="NOM, PRENOM" /><rich:spacer width="50px" />
<ajax:commandButton value="Show" action="#{userModel.doShow}" immediate="true" /></h:panelGroup>
<h:panelGroup></h:panelGroup>
</h:panelGrid><br/><br/><br/><br/><br/>
<center><rich:dataTable id="TABLE" value="#{userModel.dataModel}" var="userModel" width="300px">
<rich:column><f:facet name="header"><h:outputText value="NOM" /></f:facet><h:outputText value="#{userModel.nom}" /></rich:column>
<rich:column><f:facet name="header"><h:outputText value="PRENOM" /></f:facet><h:outputText value="#{userModel.prenom}" /></rich:column>
<rich:column><f:facet name="header"><h:outputText value="DELETE" /></f:facet><center><ajax:commandButton value="Supprimer" action="#{userModel.doDelete}" reRender="TABLE" /></center></rich:column>
</rich:dataTable></center>
</ajax:form>
</rich:panel></center>
</body>
</html>
</f:view> |
UserModel.java
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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
| /**
* @author Gyles
**/
package javax.gyles.models;
import java.util.List;
import java.util.ArrayList;
import javax.faces.model.DataModel;
import javax.faces.model.ListDataModel;
import javax.faces.context.FacesContext;
import javax.faces.application.FacesMessage;
public class UserModel extends Object
{
private String nom;
private String prenom;
private DataModel dataModel;
private List<UserModel> list = new ArrayList<UserModel>();
public UserModel()
{
}
public UserModel(String nom, String prenom)
{
this.nom = nom;
this.prenom = prenom;
}
public String doAdd()
{
if (this.isAlreadyRegistered(new UserModel(nom, prenom)))
{
FacesContext.getCurrentInstance().addMessage("ERROR", new FacesMessage("Cet utilisateur est déjà enregistré."));
return null;
}else
{
list.add(new UserModel(nom, prenom));
return null;
}
}
public String doDelete()
{
UserModel u = (UserModel)this.getDataModel().getRowData();
System.out.println(u.getNom());
return null;
}
public String doReset()
{
nom = "";
prenom = "";
return null;
}
public String doShow()
{
return "SUCCESS";
}
private boolean isAlreadyRegistered(UserModel userModel)
{
boolean exists = false;
for (int i = 0; i < list.size(); i++)
{
if (list.get(i).getNom().equals(userModel.getNom()) && list.get(i).getPrenom().equals(userModel.getPrenom()))
{
exists = true;
break;
}
}
return exists;
}
public void setNom(String nom)
{
this.nom = nom;
}
public void setPrenom(String prenom)
{
this.prenom = prenom;
}
public void setDataModel(DataModel dataModel)
{
this.dataModel = dataModel;
}
public void setList(List<UserModel> list)
{
this.list = list;
}
public String getNom()
{
return nom;
}
public String getPrenom()
{
return prenom;
}
public DataModel getDataModel()
{
if (dataModel == null)
{
dataModel = new ListDataModel();
dataModel.setWrappedData(list);
}
return dataModel;
}
public List<UserModel> getList()
{
return list;
}
} |
faces-config.xml
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| <?xml version="1.0" encoding="UTF-8"?>
<faces-config
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd"
version="1.2">
<managed-bean>
<managed-bean-name>userModel</managed-bean-name>
<managed-bean-class>javax.gyles.models.UserModel</managed-bean-class>
<managed-bean-scope>application</managed-bean-scope>
</managed-bean>
<navigation-rule>
<from-view-id>forms/addForm.jsp</from-view-id>
<navigation-case>
<from-outcome>SUCCESS</from-outcome>
<to-view-id>forms/views/listView.jsp</to-view-id>
</navigation-case>
</navigation-rule>
</faces-config> |
web.xml
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
| <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<context-param>
<param-name>org.richfaces.SKIN</param-name>
<param-value>japanCherry</param-value>
</context-param>
<context-param>
<param-name>org.richfaces.CONTROL_SKINNING</param-name>
<param-value>enable</param-value>
</context-param>
<filter>
<filter-name>richfaces</filter-name>
<filter-class>org.ajax4jsf.Filter</filter-class>
</filter>
<filter-mapping>
<filter-name>richfaces</filter-name>
<servlet-name>Faces Servlet</servlet-name>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
<dispatcher>INCLUDE</dispatcher>
</filter-mapping>
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app> |
EXCEPTION
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 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| exception
javax.servlet.ServletException: #{userModel.doDelete}: javax.faces.model.NoRowAvailableException
javax.faces.webapp.FacesServlet.service(FacesServlet.java:277)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
cause mère
javax.faces.FacesException: #{userModel.doDelete}: javax.faces.model.NoRowAvailableException
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:118)
javax.faces.component.UICommand.broadcast(UICommand.java:387)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1364)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:318)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:293)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:250)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:463)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
cause mère
javax.faces.el.EvaluationException: javax.faces.model.NoRowAvailableException
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:102)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
javax.faces.component.UICommand.broadcast(UICommand.java:387)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1364)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:318)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:293)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:250)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:463)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515)
cause mère
javax.faces.model.NoRowAvailableException
javax.faces.model.ListDataModel.getRowData(ListDataModel.java:150)
javax.gyles.models.UserModel.doDelete(UserModel.java:46)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.apache.el.parser.AstValue.invoke(AstValue.java:172)
org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
org.apache.jasper.el.JspMethodExpression.invoke(JspMethodExpression.java:68)
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:88)
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
javax.faces.component.UICommand.broadcast(UICommand.java:387)
org.ajax4jsf.component.AjaxActionComponent.broadcast(AjaxActionComponent.java:55)
org.ajax4jsf.component.UIDataAdaptor.broadcast(UIDataAdaptor.java:1364)
org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:318)
org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:293)
org.ajax4jsf.component.AjaxViewRoot.processPhase(AjaxViewRoot.java:250)
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:463)
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:82)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:388)
org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:515) |