2016-09-06 10 views
2

私は、休暇を取る要求を出しているジャージークライアントクラスを持っています。ボタンをクリックしてジャージークライアントを呼び出す

// JerseyClient

public void putRequest() throws Exception{ 
     reloadUri(); 
     Response response = target.request(MediaType.APPLICATION_JSON) 
       .accept("application/json;charset=UTF-8") 
       .header("Content-Type", "application/json") 
       .header("Authorization", "Basic OTA1MzAwNjY3MDg2OjZ4dDg5dk50VXdCbg==") 
       .put(Entity.entity(sub, MediaType.APPLICATION_JSON),Response.class); 


     System.out.println(response); 
     if(response.getStatus() == 200) { 
      System.out.println("put request using Json is Success"); 
     } 
    } 

それは正常に動作していますが、私は、ボタンのクリックで、この関数を呼び出すと思いました。そして、このボタンは私のjspファイルの一つに置かれます。それで、ボタンがクリックされたときにそのjspファイル内でこのリクエストを呼び出す方法はありますか?残りの応答に従ってページを新しいJSPにリダイレクトします。

答えて

0

jspによって直接指定することはできません。このコードをjspに含めると、サーバーのjspページを解析中にこのコードが実行されます。

サーブレット(またはコントローラ、フィルタなど)によって呼び出されるJavaコンポーネントに含める必要があります。あなたのJSPのボタンは、そのコンポーネントを実行するURLを呼び出します。そこには結果に必要なものを実行する必要があります。

ボタンをクリックしてjspで直接実行する場合は、クライアント側でjavascriptを使用して作成する必要があります。あなたがページをJSPから、あなたが開始するために、このURLにリダイレクトするボタンを定義することができ、その後、

@Path("/PATH") 
    @GET// or @POST 
    public void putRequest() throws Exception{ 
... 
} 

そして:

は、メソッドのパスアノテーションを定義します。

0

あなたはURL参照を使用してこのメ​​ソッドを呼び出すことができます上記の方法。

ジャージーの注釈hereについて詳しく読むことができます。

+0

私は質問がありますが、put関数のパスを指定しましたが、ボタンをクリックしてリダイレクトすると、パスをどのように与えるべきかをクリックします。 window.location.href = "http:// localhost:9999/myIndex.jsp/path"または別のものを使用する必要がありますか? @ gal-dreiman – cano

+0

メソッドの完全なパスにリダイレクトする必要があります。たとえばlocalhost:9999/ApplicationName/ClassName/MethodName –

+0

ですが、applicationName、classNameおよびmethodNameを使用する必要がある場合は、なぜそのパスを指定していますか。 methodNameの代わりにこのパスを使用できますか? @ gal-dreiman – cano

関連する問題