重定向在primefaces问题

问题描述 投票:1回答:2

您好我正面临重定向问题。

我有一个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>

谢谢

javascript php html jsf primefaces
2个回答
1
投票

h:outputLink应该重定向到另一个uri。我建议你从管理bean调用http://199.199.333.94/calling.php上的REST api,你可以通过p:commandLinkp:commandButton来引用它。 ajax调用将阻止重定向到api的uri。

编辑:

有关从java How to use java.net.URLConnection to fire and handle HTTP requests进行http调用的示例,请参阅以下内容

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


1
投票

使用这样的功能,您可以从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;
}
© www.soinside.com 2019 - 2024. All rights reserved.