作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果我有两个网络应用程序 http://www.abc.com/app1
和 http://www.abc.com/app2
我该如何处理两者之间的导航?
我希望能够使用侧边栏中菜单中的链接导航到 app2...
<p:menu>
<p:menuitem outcome="/index" value="Home" icon="ui-icon-home"/>
<p:submenu label="app1">
<p:menuitem outcome="/page1" value="page1" />
<p:menuitem outcome="/page2" value="page2" />
</p:submenu>
<p:submenu label="app2">
<!-- all the links below should point to pages in app2 -->
<p:menuitem outcome="/pageA" value="pageA" />
<p:menuitem outcome="/pageB" value="pageB" />
</p:submenu>
</p:menu>
显然 outcome="/pageA"
不起作用,因为它试图在 app1 中查找具有该名称的页面,从而导致 404。我尝试过 outcome="/app2/pageA"
和 outcome="../app2/pageA"
但这些都不起作用。还有哪些其他替代方案?
另外,我应该补充一点,我真的不想对网址进行硬编码“http://www.abc.com/app2/pageA”
,因为主机名会根据情况而变化关于我在哪里进行部署。
最佳答案
您可以通过执行以下操作来实现它,
托管 Bean:
@ManagedBean
@ViewScoped
public class YourBean implements Serializable{
String project_path;
public String getProject_path() {
return project_path;
}
public void setProject_path(String project_path) {
this.project_path = project_path;
}
@PostConstruct
public void init() {
HttpServletRequest req = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
project_path = req.getScheme() + "://" + req.getServerName() + ":" + req.getServerPort();
}
public YourBean() {
}
}
xhtml:
<p:menu>
<p:menuitem outcome="/index" value="Home" icon="ui-icon-home"/>
<p:submenu label="app1">
<p:menuitem url="#{yourBean.project_path}/app1/page1" value="Page1"/>
<p:menuitem url="#{yourBean.project_path}/app1/page2" value="Page2"/>
</p:submenu>
<p:submenu label="app2">
<p:menuitem url="#{yourBean.project_path}/app1/pageA" value="PageA"/>
<p:menuitem url="#{yourBean.project_path}/app1/pageA" value="PageA"/>
</p:submenu>
</p:menu>
关于java - 如何在两个网络应用程序之间导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16614406/
我是一名优秀的程序员,十分优秀!