Bonjour,

J'ai une exception qui se déclenche quand j'ajoute <layout:submit>.
Un bon exemple vaut mieux que des mots... comme 'ils' disent

test_calendar.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
 
<%@ taglib uri="/WEB-INF/struts-layout.tld" prefix="layout" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
 
<html>
 <head> <title>Test calendrier</title> </head>
 <body>
  <layout:html>
   <layout:form  action="/calendar.do" styleClass="FORM" key="Commander cours">
    <layout:date key="Date1" name="CalendarForm" property="date1" mode="E,R,E"  patternKey="dd/MM/y" />
    <layout:date key="Date2" name="CalendarForm" property="date2" mode="E,R,E"  patternKey="dd/MM/y" />
    <layout:formActions>
      <layout:submit />
      <layout:reset />
    </layout:formActions>
 
   </layout:form>
  </layout:html>
 
 </body>
</html>
et voici l'exception quand je clique sur le bouton 'Submit' ( à noter qu'il n'y a pas de problème quand je clique sur 'Reset'):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
java.lang.ClassCastException: org.apache.struts.tiles.TilesUtilImpl
	org.apache.struts.tiles.TilesRequestProcessor.initDefinitionsMapping(TilesRequestProcessor.java:84)
	org.apache.struts.tiles.TilesRequestProcessor.init(TilesRequestProcessor.java:75)
	org.apache.struts.action.ActionServlet.getRequestProcessor(ActionServlet.java:602)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1192)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
Et ce que j'ai envie de dire c'est "Mais que viens faire Tiles dans l'histoire ?"

Quelques bouts importants du struts-config.xml au cas où ça a de l'importance :
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
 
<form-beans>
<form-bean name="CalendarForm" type="CalendarForm" />
</form-beans>
 
<action-mapping>
 <action path="/calendar"
                name="CalendarForm"
                type="CalendarAction"
                scope="request"
                input="/test_calendar.jsp">
                <forward name="success" path="/test_calendar.jsp" />
  </action>
</action-mapping>
 
<controller processorClass="fr.improve.struts.taglib.layout.workflow.LayoutRequestProcessor" />
Le fichier CalendarForm.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
 
 // import ...
public class CalendarForm extends ActionForm { 
 
 // getters et setters de m_date1 et m_date2 ( type Date) 
 
  public void reset(ActionMapping mapping, HttpServletRequest request) {
        m_date1 = null;
        m_date2 = null;
    }
 
    public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
        ActionErrors errors = new ActionErrors();
 
        if (getDate1() == null)
            errors.add("date1", new ActionMessage("error.date.required"));
        return errors;
    }
}
Le fichier CalendarAction.java :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
// import ...
public class CalendarAction extends Action {
 
    public ActionForward execute(
                                 ActionMapping mapping, ActionForm _form,
                                 HttpServletRequest request, HttpServletResponse response
                                 ) throws Exception {
 
         return mapping.findForward("success");
    }
}

Ma question est donc :
Il y a t'il un rapport avec Tiles et si oui pourquoi car je ne l'utilise nulle part !

Ah oui et si quelqu'un sait comment me virer cette exception de m... , je suis preneur.
Merci