2017-01-26 8 views
-1

これはSpring Frameworkを使用したRESTアプリケーションです。Spring Frameworkの下で開発すると、フォームレスポンスの中で現在のURLを取得する方法は?

ルックは、決済プロセスのいくつかの時点で、私は支払いURLにリダイレクトするフォームを要求:アプリケーションフォームを取得すると、自動で取得したフォーム(onload=submitForm())を

@RequestMapping(value="/{id}/online-payment", produces="text/html", method={ RequestMethod.POST, RequestMethod.GET }) 
    @ResponseBody 
    public String onlinePaymentForm(HttpServletResponse response, 
      @PathVariable(value="id")String eventId, 
      @RequestParam(value="temporalDataId", required=true)String temporalDataId, 
      @RequestParam(value="amount", required=true)Double amount 
      ) throws Exception 
    { 
... 
else if(conn.getGateway() == PaymentGateway.PAYPAL) 
      { 
       return paypalPaymentsServices.buildPaymentForm(
         conn, temporalDataId, amount, event.getName(), data.representantParticipant()); 
      } 
... 
} 

提出します。私は何をしたい例えば、応答の形で現在のURLまたは現在のドメイン名を置くことです:

私はrequest.getRequestURL()HttpServletRequest requestを使用してそれを行う方法を知っていますが、この方法を見ることができるようにHttpServletResponse responseを受信して​​います。

おそらく、静的メソッドを持つクラスか、Spring FrameworkまたはJavaを使用して現在のURLを取得する方法がありますか?

ありがとうございました。

+0

なぜこのPHPにタグを付けましたか? –

+0

もしあなたが 'HttpServletRequest'でそれを行う方法を知っていれば、' HttpServletRequest request'パラメータをメソッドに追加するだけでいいのですか? – Andreas

+0

ありがとう@Andreas、あなたは 'HttpServletRequest'パラメータを追加すれば説明できますか?このメソッドを呼び出す方法はどう変わりますか?つまり、この新しいパラメータで何を変更する必要がありますか? –

答えて

1

リクエストパラメータを追加すると、そのリクエストパラメータを使用できるはずです。例えば

@RequestMapping(value="/{id}/online-payment", produces="text/html", 
       method={RequestMethod.POST, RequestMethod.GET}) 
@ResponseBody 
public String onlinePaymentForm( 
     HttpServletResponse response, 
     HttpServletRequest request, 
     @PathVariable(value="id") String eventId, 
     @RequestParam(value="temporalDataId", required=true) String id, 
     @RequestParam(value="amount", required=true) Double amount 
     ) { 
    ... 
} 

マッピングインフラストラクチャが認識し、あなたがServletベースのコンテナ内にある場合HttpServletRequestパラメータをバインドします。

+0

@Stephen_C私は変更され、ブラウザのURL解決に影響を与えます。私は404が見つかりません...このパラメータをうまく使用するためには何を変更する必要がありますか? ...あなたは言った:インフラストラクチャを認識し、バインドする..インフラストラクチャは私のものか、春のものか? –

関連する問題