【问题标题】:How can I get URL parameters in JSF如何在 JSF 中获取 URL 参数
【发布时间】: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 感谢您的贡献;但是我相信您引用的解决方案适用于@RequestScope bean。我的 bean 是 @SessionScoped,这对我来说不是解决方案,但可能适用于其他人。
  • @Named@Param 也适用于 sessionscoped bean(您没有提到 SessionScoped)对于“页面加载”还有其他解决方案,它在页面中是明确的页面加载:stackoverflow.com/questions/4888942/… 其中@Param 具有用于验证等的附加功能......很酷的东西!

标签: jsf-2


【解决方案1】:

request 对象上尝试getParameterMap() 方法。或者您也可以使用getParameter(parmName) 方法。

【讨论】:

    猜你喜欢
    • 2012-09-16
    • 2013-07-27
    • 1970-01-01
    • 2017-09-30
    • 2020-12-22
    • 2016-02-03
    • 2020-05-02
    • 2016-03-17
    相关资源
    最近更新 更多