继续modeldirven接口 的action如何跟ajax结合

liqiuguo 2014-07-11 04:30:17
继承modeldirven接口 的action如何跟ajax结合l,
Model类如下,Teacher,public class Teacher{
private Integer id;
priavte String name;
private School school;
}
而School, public class School{
private Integer id;
priavte String name;
}
上面的Teacher,School省去了getter和setter方法。

现在一个action类 public class TeacherAction extends ActionSupport implents ModelDriven<Teacher>{
public String findTeacherByScholl(String name){
Teahcer teacher= teacherDao.findBySchoolName(name);
return SUCCESS;
}
}
action类省略了setter和getter,teacherDao也省略了,
该action配置如下
<package name="ajax" extends="json-default">
<action name=teacher_"*" class="com.zxt.action.TeacherAction method={1}">
<!-- 将返回类型设置为json -->
<result type="json"></result>
</action>
</package>
jsp格式如下:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>测试</title>
<script type="text/javas cript" src="include/js/jquery-1.4.2.min.js"></script>
<script type="text/javas cript">
$(function() {
$("#tj").click(function() {
//提交的参数,name和inch是和struts action中对应的接收变量
var params = {
“ school.name” : $("#xm").val(),

};
$.ajax({
type: "POST",
url: "teacher_findTeacherByScholl.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>
</head>
<body>
<span>学校:</span><input id="xm" type="text">
<br/>

<input type="button" value="提交" id="tj">
</body>
</html>
怎么ajax传不进后台啊,若我换为<s:form>标签可以,很奇怪,是不是红色部分输入错误啊!!!!求大神们帮忙
...全文
262 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
liqiuguo 2014-07-11
  • 打赏
  • 举报
回复
我补充问题我的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就不可以了,麻烦大神们解析一下啊
liqiuguo 2014-07-11
  • 打赏
  • 举报
回复
<s:form action="teacher_findTeacherByScholl" > <input type="text" name="school.name"></input> </s:form> 这是根据strut的ognl语言的,可以传入,换成了ajax怎么不可以?
liqiuguo 2014-07-11
  • 打赏
  • 举报
回复
我这是根据school的name搜索的啊
Kiln 2014-07-11
  • 打赏
  • 举报
回复
school.去掉,只要name
  • 打赏
  • 举报
回复
school.去掉,只要name
小灯光环 2014-07-11
  • 打赏
  • 举报
回复
var params = { “ school.name” : $("#xm").val(), }; 你去掉var~把对象定义成全局变量试试~

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧