gpt4 book ai didi

jsf - 在不丢失当前 JSF 页面的 View 范围的情况下在新选项卡/窗口中打开链接

转载 作者:行者123 更新时间:2023-12-02 01:07:04 25 4
gpt4 key购买 nike

我需要在当前 JSF 页面(例如 2.xhtml)的新选项卡中打开一个新的 JSF 页面(例如 1.xhtml)。我应该使用哪个 JSF 组件? <h:commandLink><h:outputLink>

我不想失去当前页面的范围1.xhtml点击链接打开后2.xhtml在新标签页中。

1.xhtml 的 bean是@ViewScoped .我应该把它改成@RequestScoped吗? ?

最佳答案

在 HTML 中,通过 GET 请求在新窗口/选项卡中打开给定 URL 的链接将使用 <a ... target="_blank"> 实现。 .

在 JSF 中,您可以只写下普通的 HTML:

<a href="#{request.contextPath}/2.xhtml" target="_blank">Open 2.xhtml in new window</a>

您还可以使用 <h:outputLink> , 这只有在你想使用它的时候才有用 rendered属性:

<h:outputLink value="#{request.contextPath}/2.xhtml" target="_blank">Open 2.xhtml in new window</h:outputLink>

您还可以使用 <h:link>它可以采用导航结果而不是 URL,然后 JSF 将生成正确的 URL:

<h:link value="Open 2.xhtml in new window" outcome="2" target="_blank" />

bean 作用域与这一切无关。只需为其保存的数据选择正确的一个即可。 <h:commandLink>不合适,因为它会触发 POST 请求而不是 GET 请求。

另见:

关于jsf - 在不丢失当前 JSF 页面的 View 范围的情况下在新选项卡/窗口中打开链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21328385/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com