通过按钮单击调用泽西客户端

时间:2016-09-06 06:37:41

标签: javascript java jsp web-applications jersey

我有一个球衣客户端类正在向休息时发出一个put请求。

// 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。

2 个答案:

答案 0 :(得分:0)

没有直接由jsp。如果在jsp中包含此代码,则会在解析服务器中的jsp页面时执行该代码。

您应该将它包含在Java组件中,该组件将由Servlet(或控制器,过滤器等)调用。 jsp中的按钮将调用执行该组件的URL,并且您必须在那里对结果执行任何操作。

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

答案 1 :(得分:0)

您可以使用网址引用来调用此方法:

为方法定义路径注释:

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

然后,从您的jsp页面,您可以定义按钮以重定向到此URL以启动上述方法。

您可以阅读有关泽西注释here的更多信息。