如何在javascript中从spring mvc控制器的列表中获取每个元素
我使用的是SpringMVC。在控制器中,我从模型中获取列表对象,并将此列表传递到视图中。我将循环的索引传递给javascript函数。这没问题,但现在我想通过javascript中的索引获取每个对象的值。我怎么做?这是我的控制器类:如何在javascript中从spring mvc控制器的列表中获取每个元素,javascript,spring,jsp,spring-mvc,jstl,Javascript,Spring,Jsp,Spring Mvc,Jstl,我使用的是SpringMVC。在控制器中,我从模型中获取列表对象,并将此列表传递到视图中。我将循环的索引传递给javascript函数。这没问题,但现在我想通过javascript中的索引获取每个对象的值。我怎么做?这是我的控制器类: @RequestMapping(method = RequestMethod.GET) public Model handleRequest(HttpServletRequest request, HttpServletResponse r
@RequestMapping(method = RequestMethod.GET)
public Model handleRequest(HttpServletRequest request,
HttpServletResponse response,
@RequestParam(required = false, value = "q") String query) throws Exception {
Model model = new ExtendedModelMap();
String orderItem = request.getParameter("order_item");
List<Long> itemsIdList = new ArrayList<Long>();
List<OrderRequest> orderRequestList = getItemToppingCount(orderItem,itemsIdList);
model.addAttribute("itemsSelected", orderRequestList);
return model;
}
@RequestMapping(method=RequestMethod.GET)
公共模型HandlerRequest(HttpServletRequest,
HttpServletResponse,
@RequestParam(required=false,value=“q”)字符串查询)引发异常{
模型=新的ExtendedModelMap();
字符串orderItem=request.getParameter(“order_item”);
List itemsIdList=new ArrayList();
List orderRequestList=getItemToppingCount(orderItem,itemsIdList);
model.addAttribute(“itemsSelected”,orderRequestList);
收益模型;
}
这是我的JSP:
<script>
function remove_confirm_order(index){
alert(index); // OK
// Get value of first object in list
var str1 = '${itemsSelected[0].name}';
// When adding this line, I can't show anything from JSP
var str2 = '${itemsSelected['+index+'].name}';
alert(str1);
}
</script>
<c:forEach var="item" items="${itemsSelected}" varStatus="loop">
<a href="#" onclick="remove_confirm_order('${loop.index}');" />
</c:forEach>
功能删除\确认\顺序(索引){
警报(索引);//正常
//获取列表中第一个对象的值
var str1='${itemsSelected[0].name}';
//添加这一行时,我无法显示JSP中的任何内容
var str2='${itemsSelected['+index+'].name}';
警报(str1);
}
参考下面的代码片段,您可以实现相同的功能:
<script>
function remove_confirm_order(index, item){
alert(index); // OK
alert(item); //OrderRequest
var orderRequest = item;
// Now extract value from item(instance of OrderRequest), example, orderRequest.getValue(index);
// Get value of first object in list
var str1 = '${itemsSelected[0].name}';
// When adding this line, I can't show anything from JSP
var str2 = '${itemsSelected['+index+'].name}';
alert(str1);
}
</script>
<c:forEach var="item" items="${itemsSelected}" varStatus="loop">
<a href="#" onclick="remove_confirm_order('${loop.index}', ${item});" />
</c:forEach>
你可以这样做
var数据=[];
数据推送(spring_数据);
控制台日志(数据);
感谢@Arpit的回复。但我只需要javascript函数通过索引参数hi@Arpit获取元素的值。我尝试了你的解决方案,得到的结果值是HTML代码。但我想从spring控制器中检索值,如${itemsSelected[0].name}
。我应该怎么做。答案不仅应该包含代码,还应该解释为什么该代码可以解决原始问题。请编辑您的答案并添加解释。
<script type="text/javascript"
src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<script type="text/javascript">
function callHandleRequest() {
$.ajax({
url : '/url/to/your/controller',
success : function(result) {
console.log(result);
}
});
}
</script>