helenora
helenora

Reputation: 1

Can't get the object from servlet to jsp

I'm a beginner in JavaEE. I do a simple example to send objects from servlet to jsp. In jsp, I want to display the valeurs of these objects on site page. I used ${ } to get the objects, but it doesn't work. Could anybody please help me? There are my code for test.java and test.jsp: test.java:

public class Test extends HttpServlet {
public void doGet( HttpServletRequest request, HttpServletResponse response ) throws ServletException, IOException{
    /* Création et initialisation du message. */
    String paramAuteur = request.getParameter( "auteur" );
    String message = "Transmission de variables : OK ! " + paramAuteur;

    /* Création du bean et initialisation de ses propriétés */
    Coyote premierBean = new Coyote();
    premierBean.setNom( "Coyote" );
    premierBean.setPrenom( "Wile E." );

    /* Création de la liste et insertion de quatre éléments */
    List<Integer> premiereListe = new ArrayList<Integer>();
    premiereListe.add( 27 );
    premiereListe.add( 12 );
    premiereListe.add( 138 );
    premiereListe.add( 6 );

    /* Stockage du message, du bean et de la liste dans l'objet request */
    request.setAttribute( "test", message );
    request.setAttribute( "coyote", premierBean );
    request.setAttribute( "liste", premiereListe );

    /* Transmission de la paire d'objets request/response à notre JSP */
    this.getServletContext().getRequestDispatcher( "/WebContent/test.jsp" ).forward( request, response );
}

}

jsp file:

    <p>Ceci est une page générée depuis une JSP.</p>
    <p>
        ${test}
        ${param.auteur}
    </p>
    <p>
        Récupération du bean :
        ${requestScope.coyote.prenom}
        ${requestScope.coyote.nom}
    </p>
    <p>
        Récupération de la liste :
        <%
        ArrayList<Integer> list = (ArrayList) request.getAttribute("liste");
        for (Integer lis: list) {   
           %>
             <%=lis%>
           <%}
        %>
    </p>

Thanks,

Upvotes: 0

Views: 1002

Answers (2)

Sas
Sas

Reputation: 2503

You could do something like this:

<p>
  <%
   ArrayList<Integer> lists = (ArrayList<Integer>) request.getAttribute("liste");
   for (Integer list: lists) {   
   %>
     <%=list%>
   <%}%>
</p>

With EL you can do the following:

<p>
  <c:forEach items="${liste}" var="list">
   ${list}
  </c:forEach>
</p>

Upvotes: 1

Ashley Frieze
Ashley Frieze

Reputation: 5458

Try the answer from here - How to access at request attributes in JSP? - your request attributes should be visible in JSP.

Upvotes: 0

Related Questions