组合框在一行显示整个arraylist

时间:2014-10-24 08:45:02

标签: jsp servlets arraylist combobox jstl

我希望jsp文件中的一个组合框显示一个servlet的arraylist传递,但是现在它在组合框的一行显示整个arraylist。 servlet代码

  ArrayList<String> list = new ArrayList<String>();
    list.add("A");
    list.add("B");
    list.add("C");
response.setIntHeader("default", 5);
request.setAttribute("name",":Motorola Solutions TC55");
request.setAttribute("item",list);
request.getServletContext().getRequestDispatcher("/default.jsp").forward(request, response);

jsp代码

<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>


<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Include Manufacture name</title>
</head>
<body  >
<p id ="L1">Name :- <%=request.getAttribute("name")%></p>
<select>
<c:forEach items="${item}" var="temp">
    <option value='${temp}'>${temp}</option>
</c:forEach>
</select>
<button type="button" >Change Content</button>
</body>
</html>

我添加&lt;%@ taglib uri =&#34; http://java.sun.com/jsp/jstl/core"前缀=&#34; C&#34; %GT;现在t 无法在web.xml或使用此应用程序部署的jar文件中解析绝对uri:http://java.sun.com/jsp/jstl/core

2 个答案:

答案 0 :(得分:2)

您错误输入了arraylist的名称,

<select name='listSelect'>
<c:forEach items="${item}" var="temp">
    <option value='${temp}'>${temp}</option>
</c:forEach>
</select>

为避免上述错误,您应遵循standards

的命名约定

答案 1 :(得分:-1)

错误在这里:

request.setAttribute("item",list);

应该是

request.setAttribute("items",list);

最重要的是,我认为你不能在请求参数上使用$ {items}构造。你没有为&#34;名称&#34;做到这一点。属性 - 因为你已经使用request.getAttribute阅读了它,所以你需要在你的foreach中做到这一点