-1

こんにちはList<String>、サーブレットにこれがあり、次のようなテキストエリアに入力する必要があります

サーブレット: 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>

これにより、カンマ区切りで出力されます...

以下を使用して、コア JSTL ライブラリを JSP にインポートする必要があることを忘れないでください。

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

EDIT:リストをサーブレットから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>

このようにして、各ループで、現在のアイテムが最後のアイテムかどうかを確認します。それが最後のものでない場合にのみ、コンマを出力します。

于 2013-03-27T17:28:56.597 に答える