【问题标题】:Unable to send list of data from controller to jsp无法将数据列表从控制器发送到 jsp
【发布时间】:2017-11-09 14:47:55
【问题描述】:

我已经从数据库获取数据列表到控制器,无法将此数据发送到jsp,它只显示返回字符串。

这是我的观点

$(document).ready(function() {
$('#searchleader').submit(
    function(event) {
        var all={village:$('#village').val(),taluka:$('#taluka').val(),district:$('#district').val(),state:$('#stateDrop').val()};
        var data = all;
        $.ajax({
            url : $("#searchleader").attr("action"),
            data : data,
            type : "GET",

            success : function(response) {
                alert( response );
            },
            error : function(xhr, status, error) {
                alert(xhr.responseText);
            }
        });
        return false;
    });
});
<form action="searchresult" id="searchleader" method="POST">
                <div class="row">
                    <div class="form-group col-lg-3">
                        <select id="stateDrop"
                            title="State &lt;i class=&quot;fa fa-angle-down&quot;&gt;&lt;/i&gt;">
                            <option value="small">State</option>
                            <c:forEach items="${stateList}" var="state">
                                <option value="${state.state_Id}">${state.state_Name}</option>
                            </c:forEach>
                        </select>
                    </div>
                    <div class="form-group col-lg-3">
                        <select id="district">
                            <option value="small">District</option>
                        </select>
                    </div>
                    <div class="form-group col-lg-2">
                        <select id="taluka">
                            <option value="small">Taluka</option>
                        </select>
                    </div>
                    <div class="form-group col-lg-2">
                        <select id="village"
                            title="Villages &lt;i class=&quot;fa fa-angle-down&quot;&gt;&lt;/i&gt;">
                            <option value="small">Villages</option>
                        </select>
                    </div>
                    <div class="form-group col-lg-2">
                        <input type="submit" value="Search" class="submit">
                    </div>
                </div>
            </form>

这是我的控制器

@RequestMapping(value="/searchresult",method=RequestMethod.GET)
public @ResponseBody String searchLeaderList(
        @RequestParam (value="state",required=false) Integer state_id,
        @RequestParam (value="district",required=false) Integer ds_id,
        @RequestParam (value="taluka",required=false) Integer t_id,
        @RequestParam(value="village",required=false)Integer v_id,ModelMap model){
    List<LeaderName> leadernames=leaderNameService.findLeaders(state_id, ds_id, t_id, v_id);
    model.addAttribute("lname",leadernames);
    return "home/list-of-polititian";   
}

问题是在获取所有数据后需要发送另一个 jsp 页面以及数据列表,但它不会发送到该页面。在获得仅显示“家/政客名单”的成功响应后。我知道这是字符串,这就是为什么它不会转到另一个页面的原因。请帮助我。

【问题讨论】:

    标签: jquery ajax spring maven jsp


    【解决方案1】:

    从您的控制器方法中删除 @ResponseBody。当使用@ResponseBody时,响应不会被重定向到视图,而是会以json值响应。

    @RequestMapping(value="/searchresult",method=RequestMethod.GET)
    public String searchLeaderList(
            @RequestParam (value="state",required=false) Integer state_id,
            @RequestParam (value="district",required=false) Integer ds_id,
            @RequestParam (value="taluka",required=false) Integer t_id,
            @RequestParam(value="village",required=false)Integer v_id,ModelMap model){
        List<LeaderName> leadernames=leaderNameService.findLeaders(state_id, ds_id, t_id, v_id);
        model.addAttribute("lname",leadernames);
        return "home/list-of-polititian";   
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-08-01
      • 2020-08-21
      • 1970-01-01
      • 2017-07-07
      • 1970-01-01
      • 2011-06-23
      • 2019-11-29
      • 1970-01-01
      相关资源
      最近更新 更多