0

我有一个独特的要求,我的 jsp 上的输入文本元素是根据数据库中表中的数据显示的。这个想法是以编程方式在 jsp 上显示输入元素,而不是对它们进行硬编码。由于我正在处理数百个奇怪的输入元素,我认为创建 JSON 对象将是最可行的选择,但这在进行服务器端验证时并没有真正帮助。所以我最终决定使用 Spring MVC 并对 jsp 中的每个元素进行硬编码,这在这种情况下似乎不是最好的方法。当我们不确定输入元素将是什么时(在这种情况下,列表来自数据库),是否有更好、更优雅的方式来动态构建表单?
我会很感激你的回应。

4

1 回答 1

0

您是否从数据库中获取了一个简单的字符串列表?
你可以使用 JSTL 吗?如果没有,那么您可以使用 scriptlet。但是,很多人不喜欢使用一个。无论如何,这里有一个演示两种方式的 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 回答