2012-07-09 46 views
0

我有一個獨特的要求,在jsp上的輸入文本元素基於數據庫中表的數據顯示。這個想法是以編程方式在jsp上顯示輸入元素,而不是對它們進行硬編碼。因爲我正在處理數百個奇數的輸入元素,所以我認爲創建JSON對象是最可行的選擇,但這對於進行服務器端驗證並沒有什麼幫助。所以我最終決定使用Spring MVC,並且很難對jsp中的每個元素進行編碼,這似乎並不是在這種情況下最好的方式。當我們不確定輸入元素將會是什麼時(這種情況下,列表來自數據庫),是否有更好更優雅的方式來動態構建表單?
我將非常感謝您的回覆。以編程方式在jsp中創建輸入表單元素

回答

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> 
+0

我最初也非常相似,但因爲我有超過100個驗證領域的投入要素變得非常困難 – karthik 2012-07-10 07:52:54

+0

你想要什麼驗證對輸入執行的東西嗎? – rickz 2012-07-10 14:00:21