向JSF应用程序中的外部站点发送http post请求,无需重定向

向JSF应用程序中的外部站点发送http post请求,无需重定向,jsf,http-post,Jsf,Http Post,我有一个JSF应用程序,当用户点击一个按钮时,必须执行一些操作并指向一个JSF新页面。相同的操作必须向sms网关发送请求,在该网关中,它以静默方式将响应记录在应用程序中,但不能改变JSF页面对用户的任何导航。如何实现此功能 例如,单击report.xhtml页面中的save按钮必须将用户带到new_report.xhtml页面,但该单击还必须向外部url发送http请求,如果可能,记录外部响应 如果我使用faces context>request,如中所示,它将重定向到该外部页面。您始终可以使用

我有一个JSF应用程序,当用户点击一个按钮时,必须执行一些操作并指向一个JSF新页面。相同的操作必须向sms网关发送请求,在该网关中,它以静默方式将响应记录在应用程序中,但不能改变JSF页面对用户的任何导航。如何实现此功能

例如,单击report.xhtml页面中的save按钮必须将用户带到new_report.xhtml页面,但该单击还必须向外部url发送http请求,如果可能,记录外部响应


如果我使用faces context>request,如中所示,它将重定向到该外部页面。

您始终可以使用以下说明连接到任何其他站点:。如果您不喜欢有太多的样板代码,那么您可能希望使用类似第三方库的库或在此基础上构建的另一个库。使用unirest,代码将非常简单:

String yourUrl = "http://url.you.want.to/connect/";
HttpResponse<String> stringResponse = Unirest.post(yourUrl)
    .field("parameter1", "parameter1Value")
    .field("parameter2", "parameter2Value")
    .asString();
//retrieving the string content of the response
saveResponseFromExternalSite(stringResponse.getBody());
String yourUrl=”http://url.you.want.to/connect/";
HttpResponse stringResponse=Unirest.post(您的URL)
.字段(“参数1”、“参数1值”)
.字段(“参数2”、“参数2值”)
.asString();
//正在检索响应的字符串内容
SaveResponseFromeExternalSite(stringResponse.getBody());
免责声明:我与unirest库没有任何关系。我不是这个库的开发者、供应商或支持者。我只是一个快乐的用户