【发布时间】:2014-10-22 19:39:18
【问题描述】:
我是 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>
谢谢,
【问题讨论】:
-
那么,执行这段代码会发生什么?您说您使用 JSP EL (${...}),但我在发布的 JSP 代码中看不到任何此类内容。
-
嗨,对不起,我试图用 HTML 代码发布我所有的 jsp。但它没有用。其实我感觉我的jsp收不到来自test.java的对象。行有错误:for(Integer i:list),所以我添加了 if{...} 来验证这一点。我看到那个列表是空的。
-
大家好,我发现了问题。我无法将对象从 test.java 发送到 test.jsp,因为我将 test.jsp 放在了错误的位置,它必须在 WEB-INF 中找到。抱歉耽误您的时间。
标签: java html jsp jakarta-ee servlets