0

フォームがあり、ユーザーが挿入したデータを取得して、json 形式に変換したいと考えています。まず、私のフォームはこちらです—</p>

<form id="patient_form" action="#" class="form-horizontal">
            <div class="control-group">
                <label class="control-label" for="firstName"> First Name<em>*</em></label>
                <div class="controls">
                    <input type="text" id="firstName" class="required" maxlength="100"
                        placeholder="First Name" />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="middleNameInitial">
                    Middle Name Initial</label>
                <div class="controls">
                    <input type="text" id="middleNameInitial"
                        placeholder="Middle Name Initial" class="input-small"
                        maxlength="1" />
                </div>
            </div>
            <div class="control-group">
                <label class="control-label" for="lastName"> Last Name <em>*</em></label>
                <div class="controls">
                    <input type="text" id="lastName" placeholder="Last Name"
                        class="required" maxlength="100" />
                </div>
            </div>

            <div class="control-group">
                <label class="control-label" for="dateOfBirth"> Date Of
                    Birth</label>
                <div class="controls">
                    <input type="text" id="dateOfBirth" class="required" />
                </div>
            </div>

            <div class="control-group">
                <div class="controls">
                    <button type="button" class="btn btn-primary"
                        onclick="savePatientInfo()">Save Changes</button>
                    <button type="button" class="btn"
                        onclick="cancelPatientInfoForm()">Cancel</button>
                </div>
            </div>
        </form>

そして、それらをサーバーに送り返したいと思います。また、サーバー側のコードには spring mvc を使用し、クライアント側には JQuery を使用しています。

どうすればそれを行うことができますか?基本的に2つのことが必要です。

  1. Ajax 呼び出し (フォーム データを取得して json に変換し、ajax 呼び出しという 3 つの基本的な処理を行う JavaScript 関数)
  2. ajax呼び出しを消費するサーバー側メソッド(Spring MVCを訴えているコントローラーメソッド)

どんな助けでも大歓迎です。

4

1 に答える 1

1

まず、以下のように JSP から ajax 呼び出しを実行する必要があります。

$.post("${pageContext.servletContext.contextPath}/ajaxTestData",
            {
            firstName:$("#firstName").val(),
            middleNameInitial:$("#middleNameInitial").val(),
                    <other form data>
            },
            function(j)
            {
                    <j is the string you will return from the controller function.>
            });

コントローラーで、次のように ajax リクエストをマップする必要があります。

 @RequestMapping(value="/ajaxTestData", method=RequestMethod.POST)
    @ResponseBody
    public String calculateTestData(@RequestParam("firstName") String firstName, @RequestParam("middleNameInitial") String middleNameInitial, HttpServletRequest request, HttpServletResponse response){
            <perform the task here and return the String result.>

            return "xyz";
}

JSON の入力と結果をこのように使用したことはありませんが、Pojo を返すと、自動的に json 形式に変換される可能性があると思います。それを確認してください。

これがお役に立てば幸いです。乾杯。

于 2012-10-11T05:40:08.220 に答える