如何获取 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>
我知道这是一个非常基本的问题,但我无法追踪错误
这是我的下拉列表
<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>