2012-07-27 67 views
3

我使用的ICEfaces和JSF,我有这样的问题: 我有以下网址: http://myMappedServer/myApp/followingThings获得url直到上下文路径

我想在我的XHTML页面获得价值http://myMappedServer/myApp 我怎样才能不使用托管bean实现这一点?

回答

9

使用EL:#{request.contextPath}

这是创建导航链接,在你的主模板来设置Facelets的变量:)非常有用

<ui:param name="root" value="#{request.contextPath}/" /> 

UPDATE:这是not recommended to use the full path available in the app server因为它不能保证用户使用同一网址访问你的应用程序,所以,要小心这一点。

如果你真正想要的,但是,你can do that,使用HttpServletRequest的一些方法来创建这样一个字符串:

#{request.scheme}://#{request.serverName}:#{request.serverPort}#{request.contextPath} 
+0

这说明我只/对myApp和我也需要是什么之前。 – aika 2012-07-27 14:20:51

+0

@aika对,我已经更新了如何做到这一点的答案。但请注意,建议不要将其用于创建链接,因为它不能保证与用户访问它的地址相同(例如,您的应用程序可能位于代理或负载平衡器之后)。 – elias 2012-07-27 14:49:33

+0

hello eljunior,的确我想获得由代理映射的域。有什么办法可以做到吗?谢谢:) – aika 2012-07-27 14:56:04