[英]How to pass LIST from one controller to another controller in spring mvc
[英]Pass a list of li from client to Spring MVC controller
我想在提交中向Spring控制器发送一个值列表。 该列表在客户端以dinamically方式更改。 我看了这个,但只适用于输入,因为我不能在标签li中添加名称。
<ul id="paramselected" class="paramsnav" class="dropdown">
<li class="ui-widget-content selected">value1</li>
<li class="ui-widget-content selected">value2</li>
...
</ul>
反正有没有实现它?
任何帮助将不胜感激,
谢谢。
<ul id="paramselected" class="paramsnav" class="dropdown">
<li class="ui-widget-content selected"><input type="hidden" value="value1" name="liContent">value1</li>
<li class="ui-widget-content selected"><input type="hidden" value="value2" name="liContent">value2</li>
<li class="ui-widget-content selected"><input type="hidden" value="value3" name="liContent">value3</li>
</ul>
而你的控制器shuold就像:
@RequestMapping(value="/actionName")
public String getLiValues(HttpServletRequest request){
String[] liValues = request.getParameterValues("liContent");
}
你的数组已经准备好了li值。
请注意, <ul>
数据不会发送到服务器,因为它不是用户输入组件。
检查以下链接
但是如果你想发送所有的值,你可以通过javascript或ajax通过在javascript中获取<li>
值并发送到servlet来发送它。
您可以使用javascript POST(使用XMLHttpRequest
)发布数据,从列表中检索数据并发送它。
使用jquery获取li标签的值,然后创建一个数组并使用array作为请求参数调用控制器。
AFAIK,正常行为是只有输入元素从<form>
submit发布到servlet。 你可以通过jquery
发布它
$(document).ready(function(){
$("#button").click(function(){
var arr = [];
// get the text from li's
$('#paramselected li').each(function(index) {
arr.push($(this).text());
});
$.post("URLMapped",
{
liValues: arr; // arr contains your li texts
},
function(data,status){
// your response here
});
});
});
你可以使用js或jquery ajax请求。 您可以在js中找到所有不同的li值,之后您将描述var obj
。 其中有li值并调用ajax方法:
$.ajax({
type: 'POST',
contentType: 'application/json',
dataType: 'json',
mimeType: 'application/json',
async: true,
url: url,
data: obj,
success: function (result) {
console.log(result);
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.