2014-09-07 1 views
1

Quelqu'un peut-il me conseiller sur la façon de rendre l'objet dans JSP. J'ai essayé tellement de combinaisons mais ce n'est pas l'impression. Est-ce que mon code ci-dessous est correct? "Résultat" est un objet que j'obtiens les valeurs d'une classe via hibernate.Impossible de rendre l'objet dans JSP Spring MVC

Voici mon code

@RequestMapping(value = "/loginvalidate") 
public ModelAndView validatelogin (LoginForm request) throws Exception { 

    String userName = request.getUserName(); 
    ModelAndView mav = new ModelAndView("/loginvalidate"); 
    sessionUser.setUserName(userName); 
    System.out.println("username from the controller class " + sessionUser.getUserName()); 
    List result = loginservice.ValidateLogin(request); 
    mav.setViewName("loginvalidate"); 
    mav.addObject("ToDoList", result); 
    return mav; 

} 

Voici mon code jsp

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%> 
    <%@ page import="java.util.List"%> 
<c:if test="${not empty ToDoList}"> 
<table> 
    <c:forEach var="item" items="${ToDoList}"> 
     <tr> 
      <td>${item.id}</td> 
      <td>${item.status}</td> 
      </tr> 
    </c:forEach> 
</table> 
</c:if> 

Voici mon sampe JSP à l'aide scriptlet, lorsque je tente d'imprimer la liste dans le système sur je reçois " nul". Cependant, j'ai imprimé la même chose à l'intérieur de la classe de contrôleur et il a retourné certaines valeurs.

J'ai essayé la session et la requête pour obtenir les attributs.

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 
<%@ page import="java.util.List" %> 
<%@ page import="java.util.Iterator" %> 
<%@ page import="com.BillingSolution.hibernatebean.BillingSolutionTrx" %> 

<html> 
<head> 
    <title>Home Page</title> 

    <link href="/resources/css/style.css" rel="stylesheet" type="text/css"/> 
</head>  
<body> 


    <% List list = (List) session.getAttribute("ToDoList"); 
    System.out.println("printing the attributed from List" +list); 
     BillingSolutionTrx trx = null; 
     for (Iterator iterator = list.iterator(); iterator.hasNext();) { 
      trx = (BillingSolutionTrx) iterator.next(); 
      Long id = (Long) trx.getId(); 
      String status = (String) trx.getStatus(); 
      out.println("ID from the to do list JSP " + id); 
      out.println("STATUS from the to do list JSP " + status); 
     } 
      %> 



    </body> 
</html> 

Stack trace

ava.lang.NullPointerException 
at jsp_servlet._web_45_inf._jsp.__loginvalidate._jspService(loginvalidate.jsp:24) 
at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) 
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242) 
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:216) 
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:132) 
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:352) 
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:235) 
at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:567) 
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:263) 
at org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:209) 
at org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:266) 
at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1225) 
at org.springframework.web.servlet.DispatcherServlet.processDispatchResult(DispatcherServlet.java:1012) 
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) 
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:876) 
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:961) 
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:863) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:751) 
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:837) 
at javax.servlet.http.HttpServlet.service(HttpServlet.java:844) 
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:242) 
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:216) 
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:132) 
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:352) 
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:25) 
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74) 
at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27) 
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:74) 
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3288) 
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3254) 
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) 
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) 
at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:57) 
at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2163) 
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2089) 
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2074) 
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1512) 
at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:254) 
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256) 
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221) 
+0

Postez votre code jsp, et trace de la pile d'exception –

+0

Salut Sridhar, j'ai ajouté mon code JSP, Désolé je n'ai aucune exception, juste que ce n'est pas l'impression sur le navigateur. – Vinoth

+0

Je soupçonne que votre balise jstl ne fonctionne pas. Pouvez-vous boucler et imprimer l'objet en utilisant des scriplets –

Répondre

0

Je pense que le problème peut provenir de votre test <c:if ...>. Je l'écrirais:

<c:if test="${ToDoList.empty == false}"> 
+0

@Ballesta, non cela ne fonctionne pas im ayant une erreur lors de l'utilisation de cette rencontre "vide" à la ligne 1, colonne 12. attendait: ... – Vinoth

0

Vous pouvez vérifier cet autre code pour votre fonction de contrôleur comme montré ci-dessous. Je l'ai utilisé ModelMap classe pour envoyer votre

@RequestMapping(value = "/loginvalidate") 
public String validatelogin (LoginForm request,ModelMap map) throws Exception 
{ 
    String userName = request.getUserName(); 
    ModelAndView mav = new ModelAndView("/loginvalidate"); 
    sessionUser.setUserName(userName); 
    System.out.println("username from the controller class " + sessionUser.getUserName()); 
    List result = loginservice.ValidateLogin(request); 
    map.addAttribute("ToDoList", result); 
    return "loginvalidate"; //Your JSP Page Path 
} 

Dans votre JSP de EL pour obtenir la valeur de votre liste.

Questions connexes