Bonjour,
Je souhaiterais afficher le contenu d'un hashmap dans une page jsp en passant par le tag "logic", je me bats depuis quelques jours maintenant en cherchant un peu partout sur le net mais rien y fait.
Peut-etre que je m'y prends mal...si c'est le cas pourriez-vous m'orienter vers une solution mieux appropriée.
J'aimerais donc trouver une solution, et savoir si je devrais utiliser cette même méthode pour afficher une requête d'une base de données.
merci d'avance pour votre aide.
Erreur
LoginAction.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 cause mère org.apache.jasper.JasperException: Exception in JSP: /pages/welcome.jsp:40 37: <h1> Bienvenue <bean:write name="LoginForm" property="username"/></h1> 38: 39: 40: <logic:iterate id="emp" name="LoginAction" property="mapUserInfos"> 41: Emp Id: <bean:write name="emp" property="key"/> 42: Emp Name: <bean:write name="emp" property="value"/> 43: </logic:iterate> Stacktrace: org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:504) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:375) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264) javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
struts-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 public class LoginAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response)throws Exception { Map<String, Object> mapUserInfos = new HashMap<String, Object>(); mapUserInfos.put("Rohit", new Double(3434.34)); LoginFormBean loginForm = (LoginFormBean)form; //boolean validLogin = LoginDAO.login(loginForm.getUsername(), loginForm.getPassword()); request.setAttribute("MAP",mapUserInfos); String resultat = null; if (loginForm.getUsername().equals("prenom") && loginForm.getPassword().equals("pass") ){ resultat = "welcome"; }else{ resultat = "error"; } return mapping.findForward(resultat); }
welcome.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 <struts-config> <data-sources/> <form-beans> <form-bean name="LoginForm" type="com.sample.LoginFormBean"/> </form-beans> <global-exceptions/> <global-forwards> <forward name="welcome" path="/pages/login.jsp" /> </global-forwards> <action-mappings> <action input="/pages/login.jsp" name="LoginForm" path="/checkLogin" scope="session" type="com.sample.LoginAction"> <forward name="welcome" path="/pages/welcome.jsp"/> <forward name="error" path="/pages/error.jsp"/> </action> </action-mappings> <controller/> <message-resources parameter="com.sample.MessageResources"/> </struts-config>
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 <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %> <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %> <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %> <html:html> <head> <title><bean:message key="welcome.title"/></title> <html:base/> </head> <body bgcolor="white"> <logic:notPresent name="org.apache.struts.action.MESSAGE" scope="application"> <font color="red"> Succes: Bienvenue !!!! </font> </logic:notPresent> <h3><bean:message key="welcome.heading"/></h3> <p><bean:message key="welcome.message"/></p> <h1> Bienvenue <bean:write name="LoginForm" property="username"/></h1> <logic:iterate id="emp" name="LoginAction" property="mapUserInfos"> Emp Id: <bean:write name="emp" property="key"/> Emp Name: <bean:write name="emp" property="value"/> </logic:iterate> </body> </html:html>
Partager