2016-02-26 114 views
2

我想在提交中向Spring控制器发送值列表。该列表在客户端中以非常的方式改变。我看了this,但只能用于输入,因为我不能在标签li中输入名称。将客户端列表传递给Spring MVC控制器

<ul id="paramselected" class="paramsnav" class="dropdown"> 
    <li class="ui-widget-content selected">value1</li> 
    <li class="ui-widget-content selected">value2</li> 
    ...     
</ul> 

有没有办法实现它?

任何帮助将不胜感激,

谢谢。

+0

想发送整个列表还是只选择一个值(一次)? –

+1

查看[下面](http://stackoverflow.com/questions/133925/javascript-post-request-like-a-form-submit)看起来像你所需要的。 – NAIT

+0

我想将列表中的所有值一起发送。 –

回答

3
<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"); 
    } 

而且你的阵列愿与黎值。

1

您可以使用javascript POST(使用XMLHttpRequest)发布数据,从列表中检索数据并发送。

1

使用的jquery用于获取标记的值,之后,使一个阵列,并调用与阵列作为一个请求参数的控制器。

1

AFAIK,正常行为是只有输入元素从<form>提交到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 
     }); 
    }); 
}); 
0

你可以用js或jquery的ajax请求这一点。您可以在js中找到所有li值不同的值,然后描述var obj。里面有值并且调用阿贾克斯方法:

$.ajax({ 
     type: 'POST', 
     contentType: 'application/json', 
     dataType: 'json', 
     mimeType: 'application/json', 
     async: true, 
     url: url, 
     data: obj, 
     success: function (result) { 
      console.log(result); 

     } 
    }); 
相关问题