通过点击按钮调用球衣客户端
问题描述:
我有一个球衣客户端类正在发出放置请求休息。通过点击按钮调用球衣客户端
// 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。
答
没有直接通过jsp。如果您将这些代码包含在jsp中,它将在解析服务器中的jsp页面时执行。
您应该将其包含在一个Java组件中,该组件将由Servlet(或控制器,过滤器等)调用。 jsp中的按钮将调用执行该组件的URL,并且在那里您必须对结果进行任何所需的操作。
如果你想在点击按钮时直接在jsp中执行,你必须在客户端使用javascript。
答
您可以使用URL引用调用这个方法:
定义路径标注为方法:
@Path("/PATH")
@GET// or @POST
public void putRequest() throws Exception{
...
}
,然后从你的jsp页面,您可以定义按钮重定向到这个URL启动上述方法。
您可以阅读更多关于球衣注释here的信息。
感谢您的快速回复,我有一个问题,我给了put函数的路径,但是当我通过按钮重定向时,应该如何给出路径。我必须使用window.location.href =“http:// localhost:9999/myIndex.jsp/path”或其他不同的东西。 @ gal-dreiman – cano
您需要重定向到该方法的完整路径。例如:localhost:9999/ApplicationName/ClassName/MethodName –
但如果我应该使用applicationName,className和methodName,为什么我给它的路径。我可以使用这个路径而不是methodName吗? @ gal-dreiman – cano