2010-03-09 70 views
20

Tôi có biểu mẫu html có hộp danh sách lựa chọn mà từ đó bạn có thể chọn nhiều giá trị vì nhiều thuộc tính của nó được đặt thành nhiều. Xem xét phương thức hình thức là lấy phương thức. Mã html cho biểu mẫu như sau.Làm cách nào để nhận được nhiều giá trị đã chọn từ hộp chọn trong 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> 

Tôi muốn hiển thị giá trị đã chọn trong hộp danh sách chọn trên trang display.jsp. Vì vậy, cách các giá trị được chọn được truy cập trên trang display.jsp.

+0

@skaffman - Tôi tagged 'servlets', vì việc thu hồi các thông số yêu cầu được thực hiện thông qua API servlet – Bozho

Trả lời

7

cái gì đó dọc theo dòng (sử dụng JSTL):

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

Có vẻ như quá mức cần thiết nhưng mùa xuân Các hình thức xử lý này tao nhã. Đó là tất nhiên nếu bạn đang sử dụng Spring MVC và bạn muốn tận dụng tính năng 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

Vì tôi không tìm thấy câu trả lời đơn giản, chỉ cần thêm nhiều hơn nữa đây sẽ là trang JSP. lưu nội dung này vào tệp jsp khi bạn chạy, bạn có thể thấy các giá trị của lựa chọn được hiển thị.

Cập nhật: lưu các tập tin như test.jsp và chạy nó trên bất kỳ máy chủ web/app

<!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> 
Các vấn đề liên quan