本帖最后由 liqiuguo 于 2014-07-11 16:36:48 编辑

解决方案 »

  1.   

     var params = {
           “ school.name” : $("#xm").val(), 
    };
    你去掉var~把对象定义成全局变量试试~
      

  2.   

    我这是根据school的name搜索的啊
      

  3.   

    <s:form action="teacher_findTeacherByScholl" >
     <input type="text" name="school.name"></input>
    </s:form>
    这是根据strut的ognl语言的,可以传入,换成了ajax怎么不可以?
      

  4.   

    我补充问题我的action是这样的
    public class TeacherAction extends ActionSupport implents ModelDriven<Teacher>{
    public  String saveTeacher(){
                              if(.teacher.getSchool() != null && teacher.getSchool().getId() != null){
    teacher.setSchool(schoolDao.load(teacher.getSchool().getId()));
    }
                             Teacher teacher= teacherDao.save(teacher);
                            return SUCCESS;
    }
    }
    我开始的action有误了,不好意思,若是这样的话,ajax为
     <script type="text/javas cript">
      $(function() {
        $("#tj").click(function() {
        //提交的参数,name和inch是和struts action中对应的接收变量
          var params = {
           “ school.id” : $("#xm").val(),
            “name”: $("#name").val(),
          };
          $.ajax({
            type: "POST",
            url: "teacher_save.action",
            data: params,
            dataType:"text", //ajax返回值设置为text(json格式也可用它返回,可打印出结果,也可设置成json)
            success: function(json){  
              var obj = $.parseJSON(json);  //使用这个方法解析json
              var state_value = obj.teacher  //result是和action中定义的result变量的get方法对应的
              alert(state_value);
            },
            error: function(json){
              alert("json=" + json);
              return false;
            }
          });
        });
      });
      </script>
    而jsp如下   <body>
      <span>学校</span><input id="xm" type="text">
      <br/>
       <span>名字</span><input id="name" type="text">
      <br/>
      <input type="button" value="提交" id="tj">
    </body>
    这个怎么还是不行,若换为
    <s:form action="teacher_save" >
     <input type="text" name="school.id"></input>
    <input type="text" name="name"></input>
    </s:form>
    这是根据strut的ognl语言的,可以传入,这个ajax就不可以了,麻烦大神们解析一下啊