我在JSP中的<s:form>
标记中有以下多选块。当我提交表单时,action方法工作正常。
<s:select
id="prodSelect"
list="#application.actionForm.vtrProduct"
name="repSearchProdVO.product"
multiple="true"
emptyOption="false"
headerKey="-1"
theme="simple"
style="
font-size: 14px;
color: #000069;
font-family: 'Arial, Helvetica, sans-serif';
height: 20px;
width: 240px;
"
value="#session.repSearchVO.product"
/>
字符串
但是repSearchProdVO.product
只能处理890个选项,我有3000多个选项需要选择,当我选择2000个选项时,它仍然返回890个选项。
我将感激任何帮助。
2条答案
按热度按时间vd2z7a6w1#
我忘了说服务器是Tomcat 9.0.75。server.xml中端口8080的maxParameterCount默认值为1000。我将其更改为10000,一切都按预期工作。这可能会帮助某些人。
字符串
qncylg1j2#
在Struts 2中,没有办法将
<s:select>
用于大型数据集。因为它呈现一个简单的HTML<select>
,它受到显示大小选项的限制。如果您设置了更多选项,它们只是隐藏在显示尺寸后面。如果您需要在大型数据集中选择多个选项,那么您可以使用带有结果查询的请求。例如,
<sj:autocompleter>
可以帮助您通过使用搜索词进行远程https请求来查询拉格数据集。它具有
multiselect
属性创建一个多重选择。如果值通过value属性作为Array或Collection(适当类型)传递,则标记将预先选择多个值。如果其中一个键等于Collection或Array中的一个值,则它将被选中。
您可以在this answer中找到自动完成器小部件的示例。