我在JSP页面中使用JSTL迭代Java对象列表,如下所示:
<ul>
<c:forEach items="${listOfObjects}" var="o">
<li id="ObjectID" value="${o.id}" onclick="JSCall()"><a class="style">${o.id}</a></li>
</c:forEach>
</ul>
这将打印给我: 1,2,3,4,5,6等到列表的末尾。但是当我试图将ObjectID的值传回控制器时,它只会在每个单击的链接上打印1号。 ObjectID的值应与打印的值相同。
我使用jQuery的AJAX实现将ObjectID传递给我的Spring控制器。
function JSCall(){
var variable = $('#ObjectID').val();
$.ajax({
type: "GET",
url: "ajaxController.html",
data: "variable=" + variable
});
}
然后我有一个听取GET的控制器。
@RequestMapping("ajaxController")
public @ResponseBody
String JSCall(@RequestParam(value="variable") Integer variable){
System.out.println(variable); //prints only "1" on each link
return variable;
}
我根本没有得到这个,因为我认为它应该像计划的那样工作。也许有人会注意到什么?