2017-02-09 7 views
1

コンテキスト:私はJSPを使ってSpring WEB MVCアプリケーションを開発しています。私は私の入力日付範囲の値を取得し、VARにそれを渡すことができ、私はこのAjaxの機能に考え私の変数をAjaxリクエスト関数に入れるにはどうすればいいですか

<input type="text" name="daterange" value="01/01/2017 - 01/31/2017" /> 

:私のJSPページで

私は実際にはjqueryの日付範囲ピッカーで入力テキストフィールドを持っていますdaterange?このような:

function filterByDate() { 
       $.ajax({ 

        url : 'outbatch', 
        data : ({}), 
        success : function(data) { 
         var daterange = document.getElementById("daterange").value(); 

        } 
       }); 
      } 

そして、これは私のコントローラ(私はそれが長すぎる場合はnullを見ていないされeverytingをPASEなかった私はちょうど示すためにそれを置く)私のバッチを更新し、情報を取得する方法であり、私のモデルから:

@RequestMapping(value = "/outbatch", method = RequestMethod.GET) 
public String updateEblnotif(Model model) { 

    String out_path = env.getProperty("notif_out"); 
    List<Doc> doc_list = unmarshal(out_path, "LETTERS"); 
    System.err.println("jbb*********" + doc_list.size()); 

    Set<String> formname_set = new HashSet<>(); 
    `...... 
    return null`}  

私の質問は:私は私のコントローラに私のAjaxの関数呼び出しで変数を渡す必要がありますどこに?私が誤解していない場合、 'data'、 'datafilter'、 'datatype'のようなAjax関数に渡すことができるいくつかのオプションパラメータがあることはわかっていますか?私のモデルで仮定している日付をJavaの日付オブジェクトとするための最良の方法です

注:私は非常にジュニア開発者です。これは私の最初のプロジェクトです。私のモデルでは、データベースにマップするために休止状態のDAOを使用しています。

ご協力いただきありがとうございます。

+0

私たちの最新情報はありますか? – PacMan

答えて

0

あなたは、単純なあなたgetElementByIdが有用であることができるように、タグにid属性を追加する必要があり、この試みることにように、すべての最初のあなたは、クライアント側のパラメータの値を取得する必要があります。今

<input type="text" name="daterange" id="daterange" value="01/01/2017 - 01/31/2017" /> 

をのは、あなたの関数が所望の値を取り出すに責任があると仮定してみましょうと、それは簡単ですので、AJAXを使用してサーバー側にパラメータとして送信:

function filterByDate() { 
     var daterange = document.getElementById("daterange").value(); 
       $.ajax({ 
        url : 'outbatch', 
        data : {"daterange":daterange}, //here you send the daterange over an Ajax request and by default it's sended with a GET method 
        success : function(data) { 
         alert(data); //here you will see an alert displaying the callback result coming from your spring controller 
        } 
       }); 
      } 

は、今、私たちは、コントローラに日付範囲を送ったので、私たちはそれを取得する必要がありますそこに戻る:〜に

@RequestMapping(value = "/outbatch", method = RequestMethod.GET) 
    public @ResponseBody String updateEblnotif(Model model,@RequestParam("daterange") String daterange) { 
    //so here you're ahving the daterange parameter in controller , if you want to display it in the alert , you can send it in the return like this, 
     String date = "the daterange is "+daterange 
     return date; 
} 

私はそれがあなたにとってはっきりとしていることを望みます。

+0

こんにちは@PacMan、私の遅い返信のために申し訳ありません、私はちょうどあなたの答えを今朝見た。どうもありがとうございました!私はそれをテストし、それは動作します:) – algorithmic

関連する問題