繁体   English   中英

无法从servlet到jsp获取对象

[英]Can't get the object from servlet to jsp

我是JavaEE的初学者。 我做了一个简单的示例,将对象从servlet发送到jsp。 在jsp中,我想在网站页面上显示这些对象的价目表。 我使用$ {}来获取对象,但是它不起作用。 有人可以帮我吗? 我的test.java和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文件:

    <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>

谢谢,

您可以执行以下操作:

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

使用EL,您可以执行以下操作:

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

从这里尝试答案- 如何在JSP中访问请求属性? -您的请求属性应该在JSP中可见。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM