如何获取 java 中字符串数组中的所有下拉值?

How to get all dropdown values in string array in java?

我知道这是一个非常基本的问题,但我无法追踪错误

这是我的下拉列表

<select name="prodnd" id="prodnd" style="display:none">
                                  <option value="Andorra">Andorra</option>
                                        <option value="Antarctica">Antarctica</option>
                                        <option value="Bulgaria">Bulgaria</option>  
                                </select>

我想要 servlet 中的所有这些选项值

我在 servlet 中尝试了 getParameterValues

String[] prodn = request.getParameterValues("prodnd");

但我只能得到第一个选项值....

我想要所有的值

multiple 属性添加到您的 <select> 控件中

<select name="prodnd" id="prodnd" multiple size="3">

然后确保您使用 CTRL + click 选择多个值。


不要使用 <select> 控件发送隐藏数据。使用 <input type="hidden" ... > 作为

<input type="hidden" name="prodnd" id="prodnd" value="Andorra,Antarctica,Bulgaria" />

然后简单地将这些值拆分回您的 Servlet 中的数组,如

String[] prodnd = request.getParameter("prodnd").split(",");

在 select 标签中使用多个属性

<form action="servlet" method="post">
    <select name="prodnd" multiple>
        <option value="Andorra">Andorra</option>
        <option value="Antarctica">Antarctica</option>
        <option value="Bulgaria">Bulgaria</option>
    </select>
    <input type="submit">
</form>

<select> 标签需要选择单个元素(通过 JS 或用户交互来查找它将发送的数据。

<input type="hidden"> 可能有效,但随后您必须转换为您的数组或结构,因为您将以字符串形式接收它。

JSON 或序列化数据也可能是其他选项。

我想知道用例可能是什么。如果您试图在用户的会话中保留数据,那么您的 servlet 中的 Session attribute 可能是更好的选择

只需使用隐藏字段即可:

<input type='hidden' name='prodnd' value='Andorra'/>
<input type='hidden' name='prodnd' value='Antarctica'/>
<input type='hidden' name='prodnd' value='Bulgaria'/>

用户将看不到它,值将被发送到服务器

如果您仍然想使用下拉菜单,请将所有选项标记为选中:

<select name="prodnd" id="prodnd" style="display:none" multiple>
  <option value="Andorra" selected>Andorra</option>
  <option value="Antarctica" selected>Antarctica</option>
  <option value="Bulgaria" selected>Bulgaria</option>
</select>