无法从选择框获取值到servlet

时间:2012-11-27 13:57:22

标签: java jsp servlets jstl

尝试将已检查的selectbox值(一次打开)和textbox值一起提交给servlet;这是我的代码(jsp):

<script type="text/javascript">
function search(){
document.f2.action="/InfoUser/SearchBox";
document.f2.submit();
}
</script>

<form name="f2">
<div align="right">
<select id="select" name="select" style="color:#2D7EE7">
<option> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----------- </option>
<option value="a">A</option>
<option value="b">B</option>
<option value="c">C</option>
</select> 
<input type="text" name="search" style="color:#2D7EE7">
<input type="submit" value="Search" onclick="search()">
</div>
</form>

并在servlet中:我写了

String[] select = request.getParameterValues("select");
String search = request.getParameter("search");

无法获取servlet中的值,我是否缺少一些javascript / jquery脚本来获取servlet中的值&amp;我如何在JSTL的帮助下使用它。如果我出错了任何纠正.....随时评论,欢迎。

1 个答案:

答案 0 :(得分:3)

尝试更改表单:

<form action="/InfoUser/SearchBox">
    <div align="right">
        <select id="select" name="select" style="color:#2D7EE7">
            <option> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -----------</option>
            <option value="a">A</option>
            <option value="b">B</option>
            <option value="c">C</option>
        </select>
        <input type="text" name="search" style="color:#2D7EE7">
        <input type="submit" value="Search">
    </div>
</form>

或者:

<script type="text/javascript">
    function search(){
        document.f2.action="/InfoUser/SearchBox";
        document.f2.submit();
    }
</script>

<form name="f2">
    <div align="right">
        <select id="select" name="select" style="color:#2D7EE7">
            <option> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ----------- </option>
            <option value="a">A</option>
            <option value="b">B</option>
            <option value="c">C</option>
        </select>
        <input type="text" name="search" style="color:#2D7EE7">
        <input type="submit" value="Search" onclick="search()">
    </div>
</form>

您缺少表单的名称,并且在javascript中,您尝试在不存在的表单上设置操作。

在servlet中你必须这样做:

String select = request.getParameter("select");
String search = request.getParameter("search");

除非您的select元素包含String[] select = request.getParameterValues("select");,否则您将无法使用:multiple="true"