java - 如何在Jsp中添加arraylist

标签 java jsp

<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
  </head>
  <body>
<%=new Date() %>

<%
ArrayList al = new ArrayList();
al.add("C");
al.add("A");
al.add("E");
al.add("B");
al.add("D");
al.add("F");
%>

    <select>
      <option value="<%=al%>"></option>
    </select>
  </body>
</html>

这是我的代码,我想在 Jsp 的下拉列表中添加 Arraylist 我不知道如何在 html obtion 或下拉列表中绑定(bind) arraylist 请帮助我,我已经尝试了很多但无法做到这一点。

最佳答案

你必须使用 JSTL <forEach>遍历元素并将其添加到 select-option .可能制作 List范围属性。填充 List servlet 中的对象,将其设置为 request/session范围并转发 request到这个 JSP。请记住,您可以填充 List在 JSP 本身并使用 pageScope引用它,但在我看来这将是糟糕的设计。

<select>
 <c:forEach var="element" items="${al}">
  <option value="${element}">${element}</option>
 </c:forEach>
</select> 

在这里,al是存储 List 的属性的名称大概在requestsession范围。

在项目中使用JSTL :

  1. Download JSTL 1.2 jar。

  2. 在 JSP 文件中为 JSTL core taglib 声明标签库.

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

如果您只想使用 scriptlet(这当然很糟糕):

<%

List<String> al = new ArrayList<String>();
al.add("C");
..........
...........

%>
<select>
  <%  for(String element: al) { %>
   <option value="<%=element%>"><%=element%></option>
  <% } %>
</select>

如果您已经定义了 List,上面的代码将起作用。作为List<String> ,否则您需要将元素转换为 String .

阅读How to avoid Java Code in JSP-Files? .

关于java - 如何在Jsp中添加arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17879564/

相关文章:

java - 错误填充异常 : invalid ciphertext

java - 无法在java中生成完整数据到PDF文件

java - SSI 与 JSP 的区别?

java - HashMap 被最后一个值覆盖

java - 将 java.util.date 转换为 java.sql.date

java - 如何强制Jetty重新编译jsp servlet

java - bigdecimal 作为参数

java - Websphere 商业类型属性(property)

java - 如何在 Struts 2 的单个 View 中使用多个表单/操作

java - request.getParameter 获取 java.lang.NumberFormatException : null