0

JSP の入力テキスト要素がデータベース内のテーブルのデータに基づいて表示されるという固有の要件があります。アイデアは、入力要素をハードコーディングする代わりに、jsp にプログラムで表示することです。私は数百の奇妙な入力要素を扱っているので、JSON オブジェクトを作成することが最も実行可能なオプションだと思いましたが、これはサーバー側の検証を行う際にはあまり役に立ちません。そのため、最終的にSpring MVCを使用することに決め、jspの各要素をハードコーディングしていますが、これはこの状況で最善の方法とは思えません。入力要素がどうなるかわからない場合 (この場合、リストはデータベースから取得されます)、フォームを動的に構築するためのより適切で洗練された方法はありますか?
ご回答いただければ幸いです。

4

1 に答える 1

0

データベースから文字列の単純なリストを取得していますか?
JSTL を使用できますか? そうでない場合は、スクリプトレットを使用できます。しかし、多くの人はそれを使用するのが好きではありません。とにかく、ここに両方の​​方法を示す JSP があります。

<%@ page import="java.util.*" %>
<%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%> 
<%  
   // create a list for testing
   List<String> list = new ArrayList<String>();
   list.add("blue");
   list.add("green");
   list.add("red");
   list.add("yellow");
   pageContext.setAttribute("list", list);
%>
<html>
<body>
<form>
<c:forEach items="${list}" var="current">
   ${current}<input name="${current}" type="text" />
</c:forEach>
<br/>
<%
  for(String item: list){
    out.print(item + "<input name=\"" + item + "\" type=\"text\" />");
  }
%>
   <input type="submit"  />
</form>
</body>
</html>
于 2012-07-10T01:26:52.110 に答える