我有一个独特的要求,即根据数据库中表格的数据显示jsp上的输入文本元素。我们的想法是以编程方式在jsp上显示输入元素,而不是对它们进行硬编码。由于我正在处理数百个奇数输入元素,我认为创建一个JSON对象将是最可行的选项,但这在进行服务器端验证时并没有真正帮助。所以我最终决定使用Spring MVC并对jsp中的每个元素进行硬编码,这似乎是在这种情况下最好的方法。当我们不确定输入元素将是什么时,是否有更好和更优雅的方式动态构建表单(在这种情况下,列表来自数据库)?
非常感谢您的回复。
答案 0 :(得分: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>