2010-03-09 46 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> 
相关问题