2010-03-09 54 views
20

我有一個HTML表單,它有一個選擇列表框,您可以從中選擇多個值,因爲它的多個屬性設置爲多個。考慮表單方法是get方法。表單的html代碼如下。如何從JSP中的選擇框中獲取多個選定的值?

<html> 
<head> 
<title>Untitled Document</title> 
</head> 
<body> 
<form id="form1" name="form1" method="get" action="display.jsp"> 
    <table width="300" border="1"> 
    <tr> 
     <td><label>Multiple Selection </label>&nbsp;</td> 
     <td><select name="select2" size="3" multiple="multiple" tabindex="1"> 
     <option value="11">eleven</option> 
     <option value="12">twelve</option> 
     <option value="13">thirette</option> 
     <option value="14">fourteen</option> 
     <option value="15">fifteen</option> 
     <option value="16">sixteen</option> 
     <option value="17">seventeen</option> 
     <option value="18">eighteen</option> 
     <option value="19">nineteen</option> 
     <option value="20">twenty</option> 
     </select> 
     </td> 
    </tr> 
    <tr> 
     <td>&nbsp;</td> 
     <td><input type="submit" name="Submit" value="Submit" tabindex="2" /></td> 
    </tr> 
    </table> 
</form> 
</body> 
</html> 

我想在display.jsp頁面的選擇列表框中顯示選定的值。那麼如何在display.jsp頁面上訪問選定的值。

+0

@skaffman - 我標記'servlets',因爲請求參數檢索通過了servlet API – Bozho

回答

7

沿東西(使用JSTL)的線路:

<p>Selected Values: 
<ul> 
    <c:forEach items="${paramValues['select2']}" var="selectedValue"> 
    <li><c:out value="${selectedValue}" /></li> 
    </c:forEach> 
</ul> 
</p> 
1

這似乎矯枉過正,但彈簧形成優雅的處理這個問題。當然,如果你已經在使用Spring MVC,並且想要利用Spring Forms特性。

// jsp form 
    <form:select path="friendlyNumber" items="${friendlyNumberItems}" /> 

    // the command class 
    public class NumberCmd { 
     private String[] friendlyNumber; 
    } 

    // in your Spring MVC controller submit method 
    @RequestMapping(method=RequestMethod.POST) 
    public String manageOrders(@ModelAttribute("nbrCmd") NumberCmd nbrCmd){ 

     String[] selectedNumbers = nbrCmd.getFriendlyNumber(); 

    } 
3

因爲我沒有找到一個簡單的答案,只是添加更多這將是JSP頁面。一旦運行,將這些內容保存到jsp文件中,您可以看到所選顯示的值。

更新:將文件保存爲test.jsp的和任何Web /應用服務器上運行

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> 
<%@ page import="java.lang.*" %> 
<%@ page import="java.io.*" %> 
<% String[] a = request.getParameterValues("multiple"); 
if(a!=null) 
{ 
for(int i=0;i<a.length;i++){ 
//out.println(Integer.parseInt(a[i])); //If integer 
out.println(a[i]); 
}} 
%> 
<html> 
<body> 
<form action="test.jsp" method="get"> 
<select name="multiple" multiple="multiple"><option value="1">1</option><option value="2">2</option><option value="3">3</option></select> 
<input type="submit"> 
</form> 
</body> 
</html> 
相關問題