您好,我List<String>
在 Servlet 中有这个,我需要将它填充到类似的文本区域中
小服务程序:
List<String> some_words = null;
messages.put("property_name",some_words);
JSP:
<textarea name="" id="">${messages.property_name}</textarea>
谁能告诉我该怎么做?
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 if和varStatus,因此您可以像这样改进最后的代码:
<textarea name="" id="" varStatus="status">
<c:forEach var="word" items="${some_words}">
${word}<c:if test="${!status.last}">, </c:if>
</c:forEach>
</textarea>
这样,在每个循环中,您检查当前项是否是最后一项。仅当它不是最后一个时,才打印一个逗号。