【发布时间】:2016-11-16 21:49:04
【问题描述】:
我使用特殊协议 (SIP) 通过我的 xhtml 页面使用类似这样的方式打开软件电话
<h:outputLink value="sip:123456" />
但是正在破坏我的 bean,使页面无用,是否有解决方法?任何想法都会被欣赏 pd:我也在尝试使用primefaces。
更新
你的 bean 是什么范围?
是一个viewscope,我不需要传递任何参数,这是一个特殊的协议sip:,它的作用是打开一个名为softphone的程序
普通的html你会怎么做?
我更正了标题谢谢,在正常的 html 中会是这样的 <a href="sip:3378984" > call </a>
你的 bean 什么时候会被销毁?当页面显示时,或者如果您 点击链接?但是,你不能点击链接,因为没有 要渲染的内容。你如何检查被破坏的bean?哪个豆子?
当我点击链接时,它转到我的@Predestroy 方法,并打开软件电话程序(没有要显示的页面),在我点击链接后,页面变得无法使用,如链接、按钮等,无法使用
我也使用了 primefaces 命令链接
<p:commandLink value="prime link" action="#{testBean.redirect()}"/>
public void redirect() throws IOException {
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
externalContext.redirect("sip:123456");
}
【问题讨论】:
-
你的bean是什么范围?如果您正在进行对话并且它是 ConversationScoped,则必须通过
<f:param>将cid-Parameter 传递给新页面。 -
普通的html你会怎么做?顺便说一句,标题是关于commandLink,内容是关于outputLink
-
PrimeFaces 没有
h:outputLink,因此如果失败,则与 PF 无关 -
你的 bean 什么时候会被销毁?何时显示页面或单击链接?但是,您无法单击该链接,因为没有要呈现的内容。你如何检查被破坏的bean?哪个豆子?
-
你可以试试
<h:outputLink target="_blank" value="sip:123456">linktext</h:outputLink>因为你要离开页面并且你的bean有viewscope,它会被销毁。 target='_blank' 使用新标签页/页面打开链接,您的页面保持不变。