iteye_8232
iteye_8232
2009-03-25 10:30
浏览 193

ajax+hibernate 传对象的问题

最近在用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;
}

}

 

 


问题补充:
我知道两位回答的意思啦,但是有个小问题就是xmlhttprequest.open("GET","groupid="+<%=g.getGroupid()  %>+" ",true)
这个是在JS文件里面的。。应该不能用qunzu q = new qunzu();
q.setGroupid(groupid);这个来设置BEAN的值吧,好像JS格式文件不支持JAVA哦。。。

问题补充:
上个问题就是你们两个回答的。。我会选一个作为最佳答案哦。。谢谢你们帮助我!
问题补充:
我一直在看着呢 可是又遇到你刚说的那个问题啦,qunzu q = new qunzu();
q.setGroupid(groupid);
因为groupid是一个对象类型的,而我从页面接收过来的groupid是个字符串类型的 我如果这样写的话,q.setGroupid(groupid);会报错,类型转换问题。 然后再用这个q.getGroupid()就得不到我想要的值哦 谢谢你。。
问题补充:
是你没看清楚哦 看清楚点哦 我发一个BEAN的代码哦。。
public class addBI extends ActionForm {
private qunzu groupid;public qunzu getGroupid() {
return groupid;}
public void setGroupid(qunzu groupid) {
this.groupid = groupid;
}}
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

6条回答 默认 最新

  • zhoujuan520
    zhoujuan520 2009-03-27 09:37
    已采纳

    你在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);
    }

    }

    //类首字母要大写

    点赞 评论
  • zhoujuan520
    zhoujuan520 2009-03-25 10:36

    你看下字符串的 value 是你的 qunzu里面的一个属性(例如id)的值吧

    你手动设置一下,
    如下
    获得值以后
    Sting groupid = ...//页面参数传递来的
    qunzu q = new qunzu();
    q.setGroupid(groupid);

    点赞 评论
  • playfish05
    playfish05 2009-03-25 11:14

    qunzu是一个对象,对象也应该要有get跟set方法吧?

    比如说

    public class Qunzu(){

    private groupid;

    getter
    setter

    }

    在页面上获得一个对象g,然后在js里面

    xmlhttprequest.open("GET","groupid="+<%=g.getGroupid() %>+" ",true)

    这样?

    感觉描述稍微有点乱.获取你该把qunzu对象的代码也贴出来.

    点赞 评论
  • playfish05
    playfish05 2009-03-27 09:02

    如果是在js文件里面的,不知道是不是写成一个调用的方法?

    如果是方法的话,可以这样

    function a(groupid){

    xmlhttprequest.open("GET","groupid="+groupid+" ",true)
    }

    如果不是方法的话,那稍微换一下,在你引入的那个js文件的上面,加一句:

    var groupid = <%=g.getGroupid() %>;

    然后你引入的js文件里面就可以直接这样:

    xmlhttprequest.open("GET","groupid="+groupid+" ",true)

    点赞 评论
  • zhoujuan520
    zhoujuan520 2009-03-27 09:30

    Sting groupid = ...//页面参数传递来的
    qunzu q = new qunzu();
    q.setGroupid(groupid);

    看清楚点,哥们

    点赞 评论
  • playfish05
    playfish05 2009-03-27 09:37

    qunzu这个对象也应该要有变量或者get,set方法来获得groupid吧?

    你把qunzu这个bean发出来看看.

    点赞 评论

相关推荐