Перенаправление в простом выпуске - PullRequest
0 голосов
/ 12 сентября 2018

Здравствуйте, я столкнулся с проблемой перенаправления.

У меня есть API, который будет вызывать, когда я нажимаю на изображение, и он берет контактный номер пользователя и набирает вызов из программного обеспечения.

Все работает отлично , но проблема в том, что API перенаправляет на другую страницу, которую я не хочу.

Я хочу показать только сообщениеВызов , но фокус должен остаться на той же странице.

Вот мой код xhtml :

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>

Вот сценарий Java:

<script>
        var myVar;

        function myFunction()
        {
            myVar = setTimeout(function() {
                PF('callDialog').hide()
            }, 3000);
        }

        function myStopFunction()
        {
            clearTimeout(myVar);
        }

    </script>

Спасибо

Ответы [ 2 ]

0 голосов
/ 12 сентября 2018

с помощью такой функции вы можете запустить свою звонилку из вашего бина

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;
}
0 голосов
/ 12 сентября 2018

h:outputLink должен перенаправить на другой URI. Я бы посоветовал вам вызвать API REST на http://199.199.333.94/calling.php из управляемого компонента, к которому вы можете обратиться через p:commandLink или p:commandButton. Ajax-вызовы предотвратят перенаправление на URI API.

Edit:

В следующих примерах приведены примеры выполнения http-вызовов из Java. Как использовать java.net.URLConnection для запуска и обработки HTTP-запросов

Primefaces commandLink https://www.primefaces.org/showcase/ui/button/commandLink.xhtml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...