如何使用h:outputLink而不破坏bean

时间:2016-11-16 21:49:05

标签: jsf jsf-2.2

我使用特殊协议(SIP)通过我的xhtml页面使用类似的东西打开软电话

<h:outputLink value="sip:123456" />

但是正在摧毁我的bean,让页面无用,是否有针对此的解决方法?任何想法都会被贬低 pd:我也尝试使用primefaces。

更新

  

你的bean的范围是什么?

是一个viewcope,我不必传递任何参数,这是一个特殊的协议 sip:,它的作用是打开一个名为softphone的程序

  

你会怎么做才是正常的HTML?

我更正了标题谢谢,正常的html会像这样<a href="sip:3378984" > call </a>

  

你的豆什么时候会被销毁?显示页面时或是否显示页面   点击链接?但是,您无法单击该链接,因为没有   要呈现的内容。你如何检查被破坏的豆子?哪个豆子?

当我点击链接时,它会转到我的@Predestroy方法,它会打开软电话程序(没有要显示的页面),在我点击链接后页面变得不可用,如链接,按钮等,将无法正常工作

我也使用了primefaces commandlink

 <p:commandLink value="prime link" action="#{testBean.redirect()}"/>

 public void redirect() throws IOException {
    ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    externalContext.redirect("sip:123456");
}

1 个答案:

答案 0 :(得分:0)

因此,经过一些研究和之前用户的一些评论,我创建了一个脚本来打开新窗口并在几毫秒后关闭它

function clicktocallwindowf(number) {
        var wnd = window.open("sip:" + number);
        setTimeout(function () {
            wnd.close();
        }, 10);
        return false;
    }


 <p:commandLink onclick="clicktocallwindowf(#{phonebean.number})"  styleClass="Fs16 icon-phone-1"/>

希望这对某人有所帮助,谢谢你们给我更多指导的意见!