• JSF拦截ajax请求并传递参数方法


      我们可以利用f:ajax做一些简单的ajax操作,但是遇到复杂的逻辑,它不能简单的去实现,jsf提供了一种方法,可以调用它内部的js方法去实现复杂的逻辑。

      首先要在页面引入jsf的js文件:

    1 <h:outputScript library="javax.faces" name="jsf.js" />

    这是一种固定的写法。

    然后就是在组件中调用,示例性代码如下:

     1 <h:commandButton id="request" value="ajax.request" actionListener="#{bean.changeId}" onclick="jsf.ajax.request(
     2         this,event,
     3         {render:'ids',
     4             execute:'request',
     5             x:'bigbang',
     6             onevent:function(event){
     7                 alert(event.status);
     8             }});return false;">
     9     
    10 </h:commandButton>

    参数说明:
    this:指代当前标签对象;
    event:固定写法,指代当前方法
    render:要渲染的组件ID
    execute:请求组件的标识符,触发事件的对象
    x:请求参数名,key-value形式
    onevent:请求回调参数,参数event有三个状态,即begin,complete,success。

    下一步是在bean里面取得传入的参数,示例性代码如下:

    1 public void changeId(){
    2         ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
    3         String index = externalContext.getRequestParameterMap().get("x");
    4 }
  • 相关阅读:
    Eloquent ORM模型中添加自定义值
    wget
    带坑的几道PHP面试题
    php字符型转整型
    SELECT 1
    GD库
    Windows下.svn文件夹的最简易删除方法(附linux)
    svn 撤销修改
    mysql应用基本操作语句(转)
    i春秋broken
  • 原文地址:https://www.cnblogs.com/bigbang92/p/jsf-ajax-params.html
Copyright © 2020-2023  润新知