2016-02-26 50 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); 

     } 
    }); 
相關問題