从Servlet </string>填充textarea中的List <string>

时间:2013-03-27 17:12:53

标签: jsp servlets textarea jstl

你好我在Servlet中有这个List<String>,我需要将它填充到像

这样的文本区域

的Servlet: List<String> some_words = null; messages.put("property_name",some_words);

JSP:

<textarea name="" id="">${messages.property_name}</textarea>

谁能告诉我怎么做?

1 个答案:

答案 0 :(得分:1)

o您可以像这样使用JSTL foreach

<textarea name="" id="">
  <c:forEach var="word" items="${some_words}">
    ${word},
  </c:forEach>
</textarea>

这会以逗号分隔打印...

不要忘记您必须在JSP中导入核心JSTL库:

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

编辑:为了将列表从servlet传递到JSP,您只需将列表存储在会话中并使用以下命令将请求转发给JSP:

HttpSession session = request.getSession(true);
session.setAttribute("some_words", some_words);
request.getRequestDispatcher("anotherPage.jsp").forward(request, response);

请注意,some_words是您的列表对象,“some_words”是您为其提供的名称以及您将在JSP中使用的名称。

编辑2:为了避免在最后一个项目后打印逗号,您可以使用JSTL 如果 varStatus ,那么您可以像这样改进最后一个代码: / p>

<textarea name="" id="" varStatus="status">
  <c:forEach var="word" items="${some_words}">
    ${word}<c:if test="${!status.last}">, </c:if>
  </c:forEach>
</textarea>

这样,在每个循环中,检查当前项是否是最后一项。只有当它不是最后一个时,才打印逗号。