任何人都可以向我推荐任何清楚说明如何通过 在不使用任何模型的情况下从 JSP 到 Controller 的多选值。
我的要求: 在网页上只有一个多选列表框和提交按钮。 多选列表框包含由“|”分隔的 OrderId 和 CustomerCode
例子:
- 订单1|客户1
- 订单2|客户2
- 订单3|客户3
- 订单4|客户4
- 订单5|客户5
用户可以选择 1 个或多个并单击提交按钮。 我需要查询我的订单表,然后生成一份 jasper 报告。 所以,我的计划是将 JSP 中的值放入 Controller (以 List 或 OrderIds 的形式) 将其传递给服务,然后使用相应的 jrxml 创建 JASPER。
如果您对此有一些建议/建议,那就太好了。
最佳答案
使用以下技术,
- java脚本-在jsp中获取多选列表框的选中值
- ajax - 将选定的值从 jsp 传递给 Controller
另外使用spring框架创建java web应用
form.jsp中的多选列表
<select id='category' multiple='multiple'>
<option value='Order1|Customer1'>Order1|Customer1</option>
<option value='Order2|Customer2'>Order2|Customer2</option>
<option value='Order3|Customer3'>Order3|Customer3</option>
<option value='Order4|Customer4'>Order4|Customer4</option>
<option value="Order5|Customer5">Order5|Customer5</option>
</select>
java 脚本函数,用于从 jsp 中收集选定的多个值并将其传递给 Controller
function setData(){
var selectedValues= [];
$('#category:selected').each(function(i, selected) {
selectedValues[i] = $(category).val();
});
$.ajax({
type: 'POST',
dataType: 'json',
data {'selectedValues':selectedValues.toString()},
url: '/Project_name/add'
});
}
在提交按钮的点击事件中调用上面的js函数
<button onclick="setData()">Submit</button>
上面的js函数调用 Controller (MyController)中的insertData()
方法,并将选择的值传递给它
@Controller
public class MyController {
@RequestMapping(value="/add", method=RequestMethod.POST)
public void insertData(@RequestParam(value="selectedValues") ArrayList<String> selectedValues){
//query order table and then generate a jasper report so on
}
}
关于javascript - 如何在不使用任何模型的情况下将多选值从 JSP 传递到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55064867/