2016-09-06 78 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组件中,该组件将由Servlet(或控制器,过滤器等)调用。 jsp中的按钮将调用执行该组件的URL,并且在那里您必须对结果进行任何所需的操作。

如果你想在点击按钮时直接在jsp中执行,你必须在客户端使用javascript。

0

您可以使用URL引用调用这个方法:

定义路径标注为方法:

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

,然后从你的jsp页面,您可以定义按钮重定向到这个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