1

挿入したレコードのテーブルもあるページで、データベースに ajax でデータを挿入してください。データを追加するたびに、テーブルの内容を更新します。これは私がしたことです:

@RequestMapping(value="/add_record",method=RequestMethod.POST)
public @ResponseBody String addUser(@ModelAttribute User us,BindingResult result,ModelMap model){
    userservice.AddUser(us);
    model.addAttribute("usersystem", userservice.getAllUsers()); // <== Here the problem
    return returnText = "you succefully add a record !" ;
}

Jquery 関数 ;

function doAjaxPost() {
    var frm = $('#ajf');
    frm.submit(function (event) {
        event.preventDefault();
        $.ajax({
            type: "POST",
            url: "${pageContext.request.contextPath}/ajouter_user",
            data:  frm.serialize(),
            success: function(response){
                // we have the response
                $('#info').html(response);
            },
            error: function(e){
                alert('Error: ' + e);
            }
        });
    });
}

コントローラーによって追加された属性を jsp ページに返す方法がわからないため、常にページを更新して新しいレコードを表示する必要があります。ありがとうございました


このように使用するとどうなりますか:

@RequestMapping(value="/add_record",method=RequestMethod.POST)
public @ResponseBody ModelAndView addUser(@ModelAttribute User us,BindingResult result,ModelMap model){
    ModelAndView model = new ModelAndView("jspName");
    userservice.AddUser(us);
    model.addObject("usersystem", userservice.getAllUsers()); // <== Here the problem
    return model;
}

このモデルを ajax 呼び出しで受け取ることはできますか??

4

2 に答える 2

0

モデルに追加するのではなく、必要なデータを@ResponseBodyまたはとして返す必要があります。ResponseEntityJackson (または何でも) は、JSON に自動的にシリアル化して、フロント エンドの成功/完了コールバックで使用できるようにする必要があります。AJAX 要求は、MVC フローではなく、実質的にサービス エンドポイントです。

于 2013-06-08T21:43:25.770 に答える