首页 > Web开发 > 详细

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

时间:2015-03-23 13:16:51      阅读:259      评论:0      收藏:0      [点我收藏+]

  我们可以利用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 }

 

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

原文:http://www.cnblogs.com/bigbang92/p/jsf-ajax-params.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!