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

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

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

这是一种固定的写法。

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

 <h:commandButton id="request" value="ajax.request" actionListener="#{bean.changeId}" onclick="jsf.ajax.request(
this,event,
{render:'ids',
execute:'request',
x:'bigbang',
onevent:function(event){
alert(event.status);
}});return false;"> </h:commandButton>

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

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

 public void changeId(){
ExternalContext externalContext = FacesContext.getCurrentInstance().getExternalContext();
String index = externalContext.getRequestParameterMap().get("x");
}

最新文章

  1. (转)selenuim-webdriver注解之@FindBy、@FindBys、@FindAll的区别
  2. Python: 如何继承str/string?
  3. 什么是co-training
  4. 表单设置line-height,在ff中的不垂直居中问题???
  5. VC 类泡泡龙游戏算法
  6. GUI创建各常用控件(二)
  7. PLSQL插入数据中文乱码的问题
  8. hadoop错误Ignoring exception during close for org.apache.hadoop.mapred.MapTask$NewOutputCollector@17bda0f2 java.io.IOException Spill failed
  9. 我的Python---1
  10. transform复习之图片的旋转木马效果
  11. Newtonsoft.Json 操作 JSON 字符串
  12. Flume(一):简介架构
  13. [HNOI 2010]Bus 公交线路
  14. 【Android Studio安装部署系列】三十、从Android studio2.2.2升级到Android studio3.0之路
  15. [ffmpeg] 解码API
  16. struts2简单入门-OGNL表达式
  17. react实现极简搜索框效果
  18. SVN 错误:Error validating server certificate for &#39;https://xxxxxxx&#39;:443... Mac os svn客户端证书验证缓存 解决
  19. js判断输入的字符是否是汉字
  20. F分布

热门文章

  1. jQuery可放大预览的图片滑块
  2. hadoop实战项目:查找相同字母组成的字谜
  3. 4.2《深入理解计算机系统》笔记(五)并发、多进程和多线程【Final】
  4. HDU 3466 Proud Merchants 排序 背包
  5. Linux自定义别名alias重启失效问题
  6. 通过join方法顺序执行多个线程
  7. Codeforces Round #280 (Div. 2) D. Vanya and Computer Game 数学
  8. hdu 5147 Sequence II 树状数组
  9. 51nod 1009 数字1的数量 数位dp
  10. 在openrc中从keystone V2 到 V3