【问题标题】:JSF Link Parameter get nullJSF 链接参数获取 null
【发布时间】:2009-07-15 16:28:33
【问题描述】:

我有一个带有链接的页面http://localhost:8080/Test/Page.faces?id=asdasdasd 该页面有 2 个文本字段和一个按钮,在用户输入详细信息并单击提交后,当您第一次单击提交按钮时效果很好,id 将返回我的确切值,但如果用户从未输入值并且单击提交验证将被调用,然后再次单击该按钮 id 返回 null?如何解决这个问题,任何人都可以提供帮助?

【问题讨论】:

  • 您能提供一些示例代码/标记吗?我不完全确定您的问题到底是什么。

标签: url jsf parameters


【解决方案1】:

是的,当用户单击按钮时,浏览器会向服务器发出新请求。该新请求没有 ?id=asdasdasd 作为其中的一部分。我能想到的最简单的解决方案是将该值存储到页面上的隐藏文本字段中。您可以使用一些 javascript 来填充该值。

所以,如果你的 JSP 上有一个 ,可能是这样的一些 javascript:

<script type='text/javascript'>      
  function gup( name )
  {
    name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
    var regexS = "[\\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( window.location.href );
    if( results == null )
      return "";
    else
      return results[1];
  }

  if(gup('id') != "") {
     document.forms[0].idHidden.value = gup('id');
  }

</script>  

我没有检查此代码是否有错误,但想法是页面第一次加载时,'id' 的值存储在隐藏的输入字段中。该字段绑定到您的托管 bean,因此该值在页面刷新时保持不变。只需引用存储在 bean 上的 id 值(如上例中的 idHidden)而不是请求参数。

顺便说一句:我从http://www.netlobo.com/url_query_string_javascript.html 窃取了 GUP 功能

尼克

【讨论】:

    猜你喜欢
    • 2020-09-04
    • 2018-04-23
    • 1970-01-01
    • 1970-01-01
    • 2018-11-07
    • 1970-01-01
    • 1970-01-01
    • 2011-03-22
    • 1970-01-01
    相关资源
    最近更新 更多