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