如何从jsp中的数组中获取值

时间:2016-01-28 06:54:11

标签: java jsp

我想使用JSP显示数组中的数据。

我有三个文件:

  1. index.jsp

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
    
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
            <h1>Hello World! </h1>
            <form name="Input Name Form" action="response.jsp"/>
            <p> Enter your name:</p>
               <input type="text" name="name"/>  
               <input type="submit"   value="ok" />
        </form>
    
        </body>
    </html>
    
  2. response.jsp

    <%@page contentType="text/html" pageEncoding="UTF-8"%>
    <!DOCTYPE html>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
            <h1>Hello World!</h1> <br>
            <jsp:useBean id="aaa" scope="page" class="A.a" />
            <jsp:setProperty name="aaa" property="name" value="<%= request.getParameter("name")%>" />
            <jsp:getProperty name="aaa" property="name" />
    
        </body>
    </html>
    
  3. a.java

    public class a {
        public a ()
        {}
        private String name;
    ArrayList() array_list = new ArrayList();
    
    
        public String getName() {
            return name;
        }
    
        /**
         * @param name the name to set
         */
        public void setName(String name) {
            this.name = name;
        //some magic to fill array_list with values
    
        }
    }
    
  4. 我的问题是:

    我应该在jsp中使用什么语句来获取array_lista.java的值?

    我知道有陈述

    <c:forEach> </c:forEach>
    

    但我不确定如何使用它。

3 个答案:

答案 0 :(得分:1)

此处也提出了类似的问题:Iterate ArrayList in JSP

长话短说:

<c:forEach items="${aaa.array_list}" var="item">
    ${item}
</c:forEach>

答案 1 :(得分:1)

{{1}}

此处“dataDetail”是您在控制器中设置列表的键的名称。

(会话或请求).setAttribute(“dataDetail”,---类数据类型数据列表---);

以上代码与

类似
{{1}}

答案 2 :(得分:0)

使用JSTL。

试试这个:

将它放在JSP的顶部:

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>  
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> 

用于显示数据的代码

<c:forEach begin="0" end="${fn:length(array_list) - 1}" var="index">
   <tr>
      <td><c:out value="${array_list[index]}"/></td>
   </tr>
</c:forEach>