最近在用ajax+hibernate做一个小型的模块,遇到了如下问题 接收到页面传个来的字符串值,给action里面,可是这个值在我的formBean里面定义的是一个对象型的。应该在ajax里面怎么传过去?有知道的帮我一下,谢谢啦。。弄了一上午了~!具体一点代码
xmlhttprequest.open("GET","groupid="+groupid+" ",true)就是传这个groupid过去,从视图上获取的值是一个字符串类型的! 但是groupid和我的另一张表是一个一对一的关系,所以在hibernate里面设置成对象类型的了。
public class addBI extends ActionForm {
private qunzu groupid;
public qunzu getGroupid() {
return groupid;
}
public void setGroupid(qunzu groupid) {
this.groupid = groupid;
}
}
你在ActionForm里面不要用对象
或者在你的Action里面你手动获得一下值
class Action{
public execute().........{
AddBI addBI = (AddBI)form;
String groupid = request.getParamter("groupid");
qunzu q = new qunzu();
q.setGroupid(groupid);
addBI.setGroupid(q);
}
}
//类首字母要大写
你看下字符串的 value 是你的 qunzu里面的一个属性(例如id)的值吧
你手动设置一下,
如下
获得值以后
Sting groupid = ...//页面参数传递来的
qunzu q = new qunzu();
q.setGroupid(groupid);
qunzu是一个对象,对象也应该要有get跟set方法吧?
比如说
public class Qunzu(){
private groupid;
getter
setter
}
在页面上获得一个对象g,然后在js里面
xmlhttprequest.open("GET","groupid="+<%=g.getGroupid() %>+" ",true)
这样?
感觉描述稍微有点乱.获取你该把qunzu对象的代码也贴出来.
如果是在js文件里面的,不知道是不是写成一个调用的方法?
如果是方法的话,可以这样
function a(groupid){
xmlhttprequest.open("GET","groupid="+groupid+" ",true)
}
如果不是方法的话,那稍微换一下,在你引入的那个js文件的上面,加一句:
var groupid = <%=g.getGroupid() %>;
然后你引入的js文件里面就可以直接这样:
xmlhttprequest.open("GET","groupid="+groupid+" ",true)
Sting groupid = ...//页面参数传递来的
qunzu q = new qunzu();
q.setGroupid(groupid);
看清楚点,哥们
qunzu这个对象也应该要有变量或者get,set方法来获得groupid吧?
你把qunzu这个bean发出来看看.