Reputation: 159
Hello i am facing a problem of redirection.
i have a API which will call when i click on image and it will take user contact number and dial a call from software.
All things are working perfect but issue is that, API redirecting to an other page which i do not want.
I want to show only message of calling, but focus should remain on same page.
Here is my xhtml code:
Cell No.
<h:outputText value="#{informationManagerBean.cust.cellNo}" styleClass="textColorChange"/>
Direct Dial
<h:outputLink style="margin: 25px" id="tool_dial" onclick="PF('callDialog').show();
{
return true;
}" value="http://199.199.333.94/calling.php" >
<img src="Resources/images/dialer.png" alt="NR Letter" align="top" style="margin: 25px"/>
<f:param name="cli" value="#{informationManagerBean.cust.cellNo}" />
<f:param name="userid" value="000001" />
</h:outputLink>
<p:dialog id="callDialog1" onShow="myFunction();" onHide="myStopFunction();" header="Calling..."
width="200px" widgetVar="callDialog"
position="center" draggable="true" resizable="false" closable="false"
closeOnEscape="true" appendTo="@(body)" modal="true">
</p:dialog>
here is java Script:
<script>
var myVar;
function myFunction()
{
myVar = setTimeout(function() {
PF('callDialog').hide()
}, 3000);
}
function myStopFunction()
{
clearTimeout(myVar);
}
</script>
Thanks
Upvotes: 1
Views: 218
Reputation: 378
The h:outputLink
is supposed to redirect to another uri. I would suggest you call the REST api on http://199.199.333.94/calling.php from a managed bean to which you can refer via p:commandLink
or p:commandButton
. The ajax calls will prevent redirection to the api's uri.
Edit:
See the following for examples on making http calls from java How to use java.net.URLConnection to fire and handle HTTP requests
Primefaces commandLink https://www.primefaces.org/showcase/ui/button/commandLink.xhtml
Upvotes: 1
Reputation: 919
with such a function you can trigger your dialer out of your bean
public int doCall(String cli, String userid) {
HttpURLConnection conn = (HttpURLConnection) new URL("http://199.199.333.94/calling.php?cli="+cli+"&userid="+userid).openConnection();
conn.setDoOutput(false);
int responseCode = conn.getResponseCode();
conn.disconnect();
return responseCode;
}
Upvotes: 1