-1

您好,我List<String>在 Servlet 中有这个,我需要将它填充到类似的文本区域中

小服务程序: List<String> some_words = null; messages.put("property_name",some_words);

JSP:

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

谁能告诉我该怎么做?

4

1 回答 1

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 ifvarStatus,因此您可以像这样改进最后的代码:

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

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

于 2013-03-27T17:28:56.597 回答