Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中从spring mvc控制器的列表中获取每个元素_Javascript_Spring_Jsp_Spring Mvc_Jstl - Fatal编程技术网

如何在javascript中从spring mvc控制器的列表中获取每个元素

如何在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

我使用的是SpringMVC。在控制器中,我从模型中获取列表对象,并将此列表传递到视图中。我将循环的索引传递给javascript函数。这没问题,但现在我想通过javascript中的索引获取每个对象的值。我怎么做?这是我的控制器类:

    @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>