我是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>
谢谢,
答案 0 :(得分:1)
你可以这样做:
<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>
答案 1 :(得分:0)
从这里尝试答案 - How to access at request attributes in JSP? - 您的请求属性应该在JSP中可见。