gpt4 book ai didi

java - 从托管 bean 事件 JSF 重定向

转载 作者:行者123 更新时间:2023-12-01 18:35:46 26 4
gpt4 key购买 nike

我有一个包含饼图的 JSF 页面。这个想法是,当单击饼图扇区时,应用程序会重定向到另一个页面。我面临着重定向挑战,因为它只将完整的 url 带到不是动态的页面,因为它会根据环境而变化。我的 ItemSelect 方法是:

public void itemSelect(ItemSelectEvent event) {

try {

FacesContext.getCurrentInstance().
getExternalContext().redirect("http://localhost:8084/SIMBANK_BI/faces/OpenedAccountsProductTypeLevel.xhtml");

} catch (IOException asd) {
System.err.println(asd.getMessage());
}
}

我的 JSF 页面:

 <left>
<p:growl id="growl" showDetail="true" />
<p:pieChart id="custom" value="#{OpenedAccountsBranchLevelBean.pieModel}" legendPosition="w" showDataLabels="true"
style="width:500px;height:400px" sliceMargin="2">
<p:ajax event="itemSelect" listener="#{OpenedAccountsBranchLevelBean.itemSelect}" update="growl" />
</p:pieChart>
</left>

我已经尝试过了;

  FacesContext.getCurrentInstance().
getExternalContext().redirect("/faces/OpenedAccountsProductTypeLevel.xhtml");

我也尝试过:

 FacesContext.getCurrentInstance().
getExternalContext().redirect("/OpenedAccountsProductTypeLevel.xhtml");

我的问题是如何重定向而不需要放置整个 URL?

最佳答案

尝试使用

 FacesContext context = FacesContext.getCurrentInstance();
HttpServletRequest origRequest = (HttpServletRequest)context.getExternalContext().getRequest();
contextPath = origRequest.getContextPath();
try {
FacesContext.getCurrentInstance().getExternalContext()
.redirect(contextPath + "/faces/OpenedAccountsProductTypeLevel.xhtml");
} catch (IOException e) {
e.printStackTrace();
}

关于java - 从托管 bean 事件 JSF 重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22095583/

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