javascript中如何获取jsf后台数据?

我想在页面初始化的时候调用ajax请求jsf的数据放在javascript中的一个数组对象中,比如有一个ManagedBean,在face-config.xml中配置名为... 我想在页面初始化的时候调用ajax请求jsf的数据放在javascript中的一个数组对象中,比如有一个ManagedBean,在face-config.xml中配置名为“manage”。现在我想请求ManagedBean中的一个方法来获取数据data,然后返回。我想知道我ajax请求的地址是什么?我想到一种方法,在页面上写一个隐藏的jsf标签commandlink,页面加载的时候我调用commandlink的action方法,然后调用后台数据返回,可是我ajax能获取到数据么?试了一下好像得不到。 展开
 我来答
rogue1988
2011-11-30 · 超过55用户采纳过TA的回答
知道小有建树答主
回答量:332
采纳率:0%
帮助的人:120万
展开全部
你这样做的目的是什么啊,如果只是想页面初始化的时候,初始化好一些数据的话。
你给后台的方法加上这个注解@PostConstruct
看你自己配置ManagedBean 你应该用的是jsf1.2 你试下这个注解吧 2.0中是可以的
不行的话 我想1.2中也有其他方法 实现的
更多追问追答
追问
能加下QQ细说一下么?316330950
追答
你的QQ  是拒绝添加好友 。。
kiryuukazuma12
2011-11-29 · TA获得超过220个赞
知道小有建树答主
回答量:369
采纳率:0%
帮助的人:122万
展开全部
你的想法就错了,
1.ajax如果要调用后台Bean的方法,必须把jsf的viewstate也一并发送给后台,这样jsf才能恢复视图。所以用commandlink是不行的。
2.成功调用后台后,后台返回数据,你用ajax接收就可以了。
追问
我就是想知道怎么调用啊 能细说么?
比如我用jquery的ajax方法,
$.ajax({
url:"",
type:"post",
success:function(data){
}
})
我想知道我的url怎么写,如果我写成form.action我怎么与我的后台方法关联咧?
追答
你可以这样试试,看直接用commandlink提交的时候,后台接收了哪些数据,然后把这些数据用ajax提交给后台,这样就可以调用后台的bean了
if (req) {
req.onreadystatechange=function() {
if (req.readyState==4){
if(req.status==200){
if(req.responseText == 0){
window.top.location.href=context+"/";
} else{
var returnArray = req.responseText.split(",");
document.getElementById("_idJsp0:tab1:allMoney").innerHTML = returnArray[0];
document.getElementById("_idJsp0:tab1:pocketMoney").innerHTML = returnArray[1];
document.getElementById("_idJsp0:tab1:deposit_kj").innerHTML = returnArray[2];
document.getElementById("_idJsp0:tab1:japanAllMoney").innerHTML = returnArray[3];
document.getElementById("_idJsp0:tab1:japanDeposit").innerHTML = returnArray[4];
document.getElementById("_idJsp0:tab1:abroadDeposit").innerHTML = returnArray[5];
}
}
else {
alert("エラー!!データ取得失敗しました。");
}
}
};
req.open('POST',context+"/account/user.jsf",true);
req.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
req.send("_idJsp0:tab1:month="+month+"&ajax=t&_idJsp0_SUBMIT=1&_idJsp0:_link_hidden_&_idJsp0:_idJsp11_indexSubmit&_idJsp0:_idcl&javax.faces.ViewState="+document.getElementById("javax.faces.ViewState").value);
}
我这个没有用jquery,直接用的ajax,不过原理一样的,希望能给你参考作用
我提交了一个按钮,然后后台返回数据,动态刷新页面上指定区域
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式