【发布时间】:2018-06-04 19:01:02
【问题描述】:
我可以得到 URL 或 URI 就好了。但是,JSF 似乎排除了任何 URL 参数。例如:
假设网址是: www.example.com/pleasework?param=1
import javax.servlet.http.HttpServletRequest;
public String getUrl() {
HttpServletRequest request = (HttpServletRequest)
FacesContext.getCurrentInstance().getExternalContext().getRequest();
String url = request.getRequestURL().toString();
String uri = request.getRequestURI();
return uri;
}
我的结果是? 之前的所有内容,但我需要? 之后的所有内容
我怎样才能在 JSF 中做到这一点
注意:我需要获取 URL 服务器端,因此使用 Javascript 的 window.location.href 并将值存储在隐藏字段中对我来说不是解决方案,因为我需要页面加载时的参数。
【问题讨论】:
-
在
request对象上尝试getParameterMap()方法。或者您也可以使用getParameter(parmName)方法。 -
@BheshGurung 是的,不知道我是怎么错过的。谢谢/抱歉。写为答案,我会接受。
-
更简单的解决方案。阅读:stackoverflow.com/questions/28780051/…
-
@Kukeltje 感谢您的贡献;但是我相信您引用的解决方案适用于
@RequestScopebean。我的 bean 是@SessionScoped,这对我来说不是解决方案,但可能适用于其他人。 -
@Named和@Param也适用于 sessionscoped bean(您没有提到 SessionScoped)对于“页面加载”还有其他解决方案,它在页面中是明确的页面加载:stackoverflow.com/questions/4888942/… 其中@Param 具有用于验证等的附加功能......很酷的东西!
标签: jsf-2