【发布时间】:2014-05-30 16:17:26
【问题描述】:
我的表单中有一个复选框列表,如下所示,我不知道在后端接收其选定选项的最佳方式是什么。
<s:form id="search" name="search" method="GET" action="search">
<s:checkboxlist name="mySearch.age" label="Age" list="@com.example.Lists@AGE"/>
<s:checkboxlist name="mySearch.gender" label="Gender" list="@com.example.Lists@GENDER"/>
<s:select name="mySearch.education" label="Education" list="@com.example.Lists@EDUCATION"/>
<s:select name="mySearch.country" label="Country" list="@com.example.Lists@COUNTRY"/>
<s:textfield id="mySearch.terms" name="mySearch.terms" label="Terms (Separate by comma)"/>
<s:submit value="Submit"/>
</s:form>
我不确定年龄应该是什么类型以及如何在后端捕获它。
我需要它们如下所示或任何其他格式以便于基于它们进行搜索
age=20%2C30 or age=20,30
1)此刻就像跟随
private List<Integer> age;
并且值将在 url 中如下所示,
mySearch.age=20&mySearch.age=30
2) 我使用 javascript 函数和简单的 html(与 this 相同)使用以下代码发送值,但它以 age=20&age=30 的形式发送它们
$('#search').serialize()
3) 我还使用以下代码将它们作为 age=2,3 发送,这很好,但我想知道如何将表单的其他字段的值与这些值一起发送?
var formValues = $('#search').serialize();
var obj={};
obj.ages = $('input[name=age]:checked').map(function(){
return this.value;
}).get();
alert(obj.ages);
【问题讨论】:
-
模型驱动并不复杂,而是很容易将代码分成模块
-
您还想发送哪些其他字段?
-
@Rembo 问题更新
-
为什么不使用模型类进行数据接收?
-
@JackMoore:标准做法是将参数发送为
mySearch.age=20&mySearch.age=30。
标签: java javascript jquery jsp struts2