Bonjour,

Voilà j'ai un problème concernant une page ("ModifyUserPage.jsp") qui contient un datatable avec un commandLink pour chaque ligne de la table. Lorsque je clique sur le commandLink d'une ligne, j'ai droit au message :

java.lang.NullPointerException

Normalement, ce commandLink appelle la méthode "modifyUserSelect" du bean "modifyUserSelectBean" et le bean doit renvoyer vers la page "ModifyUserSelectPage.jsp"

Ci-dessous une copie des fichiers principaux :

- Fichier faces-config.xml

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
<?xml version="1.0" encoding="windows-1250"?>
<!DOCTYPE faces-config PUBLIC
  "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
  "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
<faces-config xmlns="http://java.sun.com/JSF/Configuration">
 
 
 
  <navigation-rule>
    <from-view-id>/ModifyUserPage.jsp</from-view-id>
    <navigation-case>
      <from-outcome>returnToAdminPage</from-outcome>
      <to-view-id>/AdminPage.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
      <from-outcome>error</from-outcome>
      <to-view-id>/ErrorPage.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
      <from-outcome>addUser</from-outcome>
      <to-view-id>/AddUserPage.jsp</to-view-id>
    </navigation-case>
    <navigation-case>
      <from-outcome>modifyUserSelect</from-outcome>
      <to-view-id>/ModifyUserSelectPage.jsp</to-view-id>
    </navigation-case>
  </navigation-rule>
 
  <managed-bean>
    <managed-bean-name>modifyUserBean</managed-bean-name>
    <managed-bean-class>MUDPackage.ModifyUserBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>
    <!--oracle-jdev-comment:managed-bean-jsp-link:1ModifyUserPage.jsp-->
  </managed-bean>
  <managed-bean>
    <managed-bean-name>modifyUserSelectBean</managed-bean-name>
    <managed-bean-class>MUDPackage.ModifyUserSelectBean</managed-bean-class>
    <managed-bean-scope>request</managed-bean-scope>    
  </managed-bean>
</faces-config>
- Fichier ModifyUserPage.jsp

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1250"%>
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
 
<f:view>
    <html>
 
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
 
        <title>Modify user</title>
 
        <link rel="stylesheet" type="text/css" href="stylesheetLogin.css" media="all">
    </head>
 
    <body>
   <h:form>
                <h:dataTable id="userDataTable" value="#{modifyUserBean.userList}" binding="#{modifyUserBean.userTable}"
                           var="userListSelect" rows="10" rowClasses="dataTableRow1, dataTableRow2"
                           columnClasses="td.label" dir="LTR" border="1">
 
                    <h:column>
                        <h:commandLink action="#{modifyUserSelectBean.modifyUserSelect}">
                            <h:outputText value="Modify user data"/>
                        </h:commandLink>
                    </h:column>
 
                    <!-- Id -->
                    <h:column>
                        <f:facet name="header">                  
                            <h:outputText value="Id"/>
                        </f:facet>
                        <h:outputText value="#{userListSelect.id}"/>
                    </h:column>
                </h:dataTable>
	    </h:form>
</body>
</html>
</f:view>
- Fichier ModifyUserSelectBean.java

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
package MUDPackage;
 
import wrappers.UserInfo;
 
public class ModifyUserSelectBean {
 
    UserInfo user;
 
    public ModifyUserSelectBean(){
 
    }
 
    public void setUser(UserInfo user){
        this.user=user;
    }
 
    public UserInfo getUser(){
        return user;
    }
 
    public String  modifyUserSelect(){
        return "modifyUserSelect";
    }
 
}
Merci de votre aide !