【问题标题】:Combo box displaying whole array lis in one line在一行中显示整个数组 lis 的组合框
【发布时间】:2014-12-20 02:03:00
【问题描述】:

我希望 jsp 文件中的组合框显示 servlet 传递的数组列表,但现在它在组合框的一行中显示整个数组列表。 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>

我现在添加了 绝对 uri:http://java.sun.com/jsp/jstl/core 无法在 web.xml 或随此应用程序部署的 jar 文件中解析

【问题讨论】:

  • 您应该将jstl jar 添加到您的构建路径。

标签: jsp servlets arraylist combobox jstl


【解决方案1】:

你打错了数组列表的名称,

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

为避免上述错误,您应遵循standards 中的命名约定

【讨论】:

  • madethe cange 现在什么都没有显示
  • 最好端到端地做到这一点,而不是在 JSP 中解决它。首先将适当命名的列表放入请求中。然后要读取该属性,请确保您使用的是正确的模式。
  • @DrihanNanayakkarra 你检查过控制台吗?你有什么错误吗?
  • @AshleyFrieze 无论如何,更改没有显示任何内容,谢谢
  • @AshleyFrieze 你说我的语法错了吗?
【解决方案2】:

错误就在这里:

request.setAttribute("item",list);

应该是

request.setAttribute("items",list);

除此之外,我认为您不能在请求参数上使用 ${items} 构造。您还没有为“名称”属性这样做 - 因为您已经使用 request.getAttribute 阅读过它,所以您需要在您的 foreach 中这样做

【讨论】:

  • 可以在表示层而不是 servlet 中轻松进行更改。所以它可能是最受欢迎的
  • _ 所以你需要在你的 foreach_ 中这样做,他正在使用 jstl 。所以这里需要使用getAttribute
猜你喜欢
  • 2012-01-22
  • 2016-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-07
  • 1970-01-01
  • 2016-07-13
  • 1970-01-01
相关资源
最近更新 更多