IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Richfaces Exeception :javax.servlet.ServletException


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Par défaut Richfaces Exeception :javax.servlet.ServletException
    Bonjour,

    Je suis en train de tester une petite application de type CRUD en utilisant JSF Richfaces. Mon problème est que je la démarre sous tomcat6 sans problème, mais une fois que click pour éditer un objet l'exception suivante apparaît*:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    javax.servlet.ServletException: viewId:/MyPage.jsf - View /MyPage.jsf could not be restored.
    	javax.faces.webapp.FacesServlet.service(FacesServlet.java:270)
    	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:532)
    	org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    	org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    	org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
    	org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)

    Merci d'avance pour votre aide.

  2. #2
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    la page est bien rendu au départ? sur quelle action l'exception est lancée ?
    tu peux donner la trace complète de l'exception;

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Par défaut Richfaces Exeception :javax.servlet.ServletException
    Merci d'abord.

    Voila le détail :

    lorsque je démmare Tomcat6 j'ai la page suivante (la seule page que j'ai) :
    Piece jointe

    et une fois que je clique sur "edit" j'ai cette exception:

    type Rapport d'exception

    message

    description Le serveur a rencontr� une erreur interne () qui l'a emp�ch� de satisfaire la requ�te.

    exception

    javax.servlet.ServletException: viewId:/MyPage.jsf - View /MyPage.jsf could not be restored.
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:270)
    org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:532)
    org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
    org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)


    cause m�re

    javax.faces.application.ViewExpiredException: viewId:/MyPage.jsf - View /MyPage.jsf could not be restored.
    com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:186)
    com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
    com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.java:104)
    com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
    javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
    org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:532)
    org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)
    org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
    org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFilter.java:390)
    org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:517)


    note La trace compl�te de la cause m�re de cette erreur est disponible dans les fichiers journaux de Apache Tomcat/6.0.18.





    Merci
    Images attachées Images attachées  

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Par défaut Voila le détail
    web.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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <?xml version="1.0"?>
    <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">
     <display-name>a4jEchoText</display-name>
     <context-param>
      <param-name>org.richfaces.SKIN</param-name>
      <param-value>emeraldTown</param-value>
     </context-param>
     <context-param>
      <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
      <param-value>server</param-value>
     </context-param>
     <context-param>
      <param-name>org.richfaces.CONTROL_SKINNING</param-name>
      <param-value>enable</param-value>
     </context-param>
     <filter>
      <display-name>RichFaces Filter</display-name>
      <filter-name>richfaces</filter-name>
      <filter-class>org.ajax4jsf.Filter</filter-class>
     </filter>
     <filter>
      <display-name>Ajax4jsf Filter</display-name>
      <filter-name>ajax4jsf</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>
     <filter-mapping>
      <filter-name>ajax4jsf</filter-name>
      <servlet-name>Faces Servlet</servlet-name>
      <dispatcher>FORWARD</dispatcher>
      <dispatcher>REQUEST</dispatcher>
      <dispatcher>INCLUDE</dispatcher>
     </filter-mapping>
     <!-- Faces Servlet -->
     <servlet>
      <servlet-name>Faces Servlet</servlet-name>
      <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
      <load-on-startup>1</load-on-startup>
     </servlet>
     <!-- Faces Servlet Mapping -->
     <servlet-mapping>
      <servlet-name>Faces Servlet</servlet-name>
      <url-pattern>*.jsf</url-pattern>
     </servlet-mapping>
     <welcome-file-list>
      <welcome-file>/index.jsp</welcome-file>
     </welcome-file-list>
     <login-config>
      <auth-method>BASIC</auth-method>
     </login-config>
    </web-app>

    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
    <?xml version="1.0" encoding="UTF-8"?>
    <faces-config version="1.2" xmlns="http://java.sun.com/xml/ns/javaee"
     xmlns:xi="http://www.w3.org/2001/XInclude"
     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">
     <managed-bean>
      <managed-bean-name>MD</managed-bean-name>
      <managed-bean-class>majidi.abdo.managedBean.ManageDepartements</managed-bean-class>
      <managed-bean-scope>request</managed-bean-scope>
     </managed-bean>
     <application>
      <locale-config>
       <default-locale>en</default-locale>
      </locale-config>
     </application>
    </faces-config>

    ManageDepartements



    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
    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
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    package majidi.abdo.managedBean;
     
    import java.util.List;
     
    import javax.faces.event.ActionEvent;
     
    import org.ajax4jsf.component.html.HtmlAjaxCommandLink;
    import org.richfaces.component.UIDataTable;
    import majidi.abdo.persistance.*;
     
    public class ManageDepartements {
     
        private String departmentID;
        private String title;
        private String description;
     
        public ManageDepartements() {
            dc=new TblDepartmentsDAO();
            departments = dc.findAll();
        }
     
        private UIDataTable table;
        private List <TblDepartments> departments;
        private TblDepartmentsDAO dc ;   
        private HtmlAjaxCommandLink updateLink;
        private boolean editable = false; //editable mode means editable or not
     
        public void editAction(ActionEvent e) {
            TblDepartments dep = (TblDepartments) table.getRowData();
     
            this.setDepartmentID(String.valueOf(dep.getDepartmentId()));
            //save into table as attribute also for postback retrieval
            table.getAttributes().put("depID",dep.getDepartmentId());
     
            this.setTitle(dep.getTitle());
            this.setDescription(dep.getDescription());
     
            this.setEditable(true);
            this.updateLink.setRendered(true);
        }
     
        public void updateAction(ActionEvent e) {
            TblDepartments dep = new TblDepartments();
     
            dep.setDepartmentId((Integer)table.getAttributes().get("depID"));
            dep.setTitle(this.getTitle());
            dep.setDescription(this.getDescription());
     
            dc.save(dep);  // à vérifier
            this.clearFields();
            this.setEditable(false);
            this.updateLink.setRendered(false);
            this.departments = dc.findAll();
        }
     
        public void cancelAction(ActionEvent e){
            this.clearFields();
            this.setEditable(false);
            this.updateLink.setRendered(false);
        }
     
        public void deleteAction(ActionEvent e) {
            if (table.getRowData() != null) {
              TblDepartments dep = (TblDepartments) table.getRowData();
              dc.delete(dep);
              this.clearFields();
              updateLink.setRendered(false);
              this.departments = dc.findAll();
            }
        }
     
        public void insertAction(ActionEvent e) {
            TblDepartments dep = new TblDepartments();
           // dep.setDepartmentID(0);
            dep.setTitle(this.getTitle());
            dep.setDescription(this.getDescription());
            dc.save(dep);
     
            this.clearFields();
            this.departments = dc.findAll();
        }
     
        void clearFields() {
            this.setTitle("");
            this.setDescription("");
            this.setDepartmentID("");
        }
     
        public String getDepartmentID() {
            return departmentID;
        }
     
        public void setDepartmentID(String departmentID) {
            this.departmentID = departmentID;
        }
     
        public String getTitle() {
            return title;
        }
     
        public void setTitle(String title) {
            this.title = title;
        }
     
        public String getDescription() {
            return description;
        }
     
        public void setDescription(String description) {
            this.description = description;
        }
     
        public UIDataTable getTable() {
            return table;
        }
     
        public void setTable(UIDataTable table) {
            this.table = table;
        }
     
        public List<TblDepartments> getDepartments() {
            return departments;
        }
     
        public void setDepartments(List<TblDepartments> departments) {
            this.departments = departments;
        }
     
        public TblDepartmentsDAO getDc() {
            return dc;
        }
     
        public void setDc(TblDepartmentsDAO dc) {
            this.dc = dc;
        }
     
        public HtmlAjaxCommandLink getUpdateLink() {
            return updateLink;
        }
     
        public void setUpdateLink(HtmlAjaxCommandLink updateLink) {
            this.updateLink = updateLink;
        }
     
        public boolean isEditable() {
            return editable;
        }
     
        public void setEditable(boolean editable) {
            this.editable = editable;
        }
     
     
        }

    MyPage.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
    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
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
    <%@ taglib uri="http://richfaces.org/a4j" prefix="a4j" %>
    <%@ taglib uri="http://richfaces.org/rich" prefix="rich" %>
    <html>
        <head>
            <title></title>
        </head>
        <body>
            <f:view>
    <h:form id="frm">
    <rich:panel  header="Deparments" style="width:450px">
    <rich:dataTable binding="#{MD.table}"       
        onRowMouseOver="this.style.backgroundColor='#B5CEFD'"
        onRowMouseOut="this.style.backgroundColor='#{org.richfaces.SKIN.tableBackgroundColor}'"
        onRowClick="this.style.backgroundColor='#F1F1F1'"
        rows="5" width="100%" id="tbl"  value="#{MD.departments}" var="d">
    <rich:column>
        <f:facet name="header">
            <h:outputText value="Title" />
        </f:facet>
        <h:outputText value="#{d.title}" />   
    </rich:column>
    <rich:column width="230px">
        <f:facet name="header">
            <h:outputText value="Description" />
        </f:facet>    
        <h:outputText value="#{d.description}" />    
    </rich:column>
    <rich:column style="text-align:center">
        <f:facet name="header">
            <h:outputText value="Edit" />
        </f:facet>    
        <a4j:commandLink reRender="pnl" actionListener="#{MD.editAction}">
            <h:graphicImage  style="border:0"url="/images/modif.png" />
        </a4j:commandLink>    
    </rich:column>
    <rich:column style="text-align:center">
        <f:facet name="header">
            <h:outputText value="Delete" />
        </f:facet>
        <a4j:commandLink reRender="tbl,pnl" 
             actionListener="#{MD.deleteAction}"
             onclick="if(confirm('Confirm delete?') == false )  return false;" >
            <h:graphicImage style="border:0" url="/images/supprimer.png" />
        </a4j:commandLink>    
    </rich:column>
    <f:facet name="footer">
        <rich:datascroller />
    </f:facet>
     
    </rich:dataTable>
    </rich:panel>
    <br>
    <rich:panel header="Department" style="width:450px">
    <h:panelGrid id="pnl" columns="2" width="100%"  >
     
        <h:outputText value="Department ID:" rendered="#{MD.editable}" />
        <h:outputText value="#{MD.departmentID}"
                   rendered="#{MD.editable}" />    
     
        <h:outputText value="Title:" />            
        <h:panelGroup>
            <h:inputText id="title" value="#{MD.title}"  style="width:100%"  />
            <h:message style="color:red" for="title" />
        </h:panelGroup>         
     
        <h:outputText value="Description:" />
        <h:inputTextarea  style="width:100%"  value="#{MD.description}" />
     
        <a4j:commandLink value="Insert" reRender="tbl,pnl"
                actionListener="#{MD.insertAction}"
                rendered="#{not MD.editable}"/>
        <a4j:commandLink  value="Update"  reRender="tbl,pnl" 
                actionListener="#{MD.updateAction}"
                rendered="false" binding="#{MD.updateLink}"   />                    
        <a4j:commandLink value="Cancel" reRender="pnl,tbl" 
                actionListener="#{MD.cancelAction}" />
    </h:panelGrid>
    </rich:panel>
    </h:form>
     
            </f:view>
        </body>    
    </html>
    J'utilise Hibernate pour selectionner tous les départements à partir de la base de donnée.


    Merci Infiniment.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    53
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 53
    Par défaut En fin................
    J'ai résolu le problème.

    voila le problème : je fais un "forward" à partir de "index.jsp" <jsp:forward page="MyPage.jsf" /> :


    et lorsque j'accede dirrectement à "MyPage.jsf" : je n'ai aucune exception et les choses marchent à merveille.


    Mais j'ai pas encore pourquoi un forward est l'origigne de ce problème.


    Merci pour vous tous.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 05/11/2011, 15h53
  2. Réponses: 1
    Dernier message: 17/10/2007, 09h31
  3. struts erreur javax.servlet.ServletException
    Par catherine* dans le forum Struts 1
    Réponses: 2
    Dernier message: 30/08/2007, 08h50
  4. Réponses: 7
    Dernier message: 19/07/2006, 14h43
  5. [SERVLET]javax.servlet.ServletException
    Par Devil666 dans le forum Servlets/JSP
    Réponses: 13
    Dernier message: 10/06/2005, 11h50

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo