例如   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 saveTeacher(){

                          if(.teacher.getSchool() != null && teacher.getSchool().getId() != null){

teacher.setSchool(schoolDao.load(teacher.getSchool().getId()));

}

                         Teacher teacher= teacherDao.save(teacher);

                        return SUCCESS;

}

}

该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.id” : $("#xm").val(),

        “ name” : $("#xm1").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/>

  <span>名字:</span><input id="xm1" type="text">

  <br/>

  <input type="button" value="提交" id="tj">

</body>

</html>

版权声明:本文博客原创文章,博客,未经同意,不得转载。

关于继承modelDriven接口action的ajax来电参数的更多相关文章

  1. 1. Action 实现 ModelDriven 接口后的运行流程

    1). 先会执行 ModelDrivenInterceptor 的 intercept 方法. public String intercept(ActionInvocation invocation) ...

  2. Struts2基础-3 -继承ActionSupport接口创建Action控制器+javaBean接收请求参数+ 默认Action配置处理请求错误 + 使用ActionContext访问ServletAPI

    1.目录结构及导入的jar包 2.web.xml 配置 <?xml version="1.0" encoding="UTF-8"?> <web ...

  3. 接触Struts2的ModelDriven<>接口

    最近在学SSH框架,实战项目,用到了Struts2的ModelDriven<>接口,在这做一点记录 ModelDriven,意为模型驱动,意思是直接把实体类当成页面数据的收集对象 参考他人 ...

  4. Struts2中的ModelDriven接口

    若没有实现ModelDriven的接口,Controll的代码会比较冗余,不能实现Controll和Model代码的分离 下面是没有实现ModelDriven接口的SuggestAction pack ...

  5. python 静态 封装 继承 mro 接口 super

    1.静态属性 静态方法  类方法 #!/usr/bin/python env # encoding: utf-8 # 静态属性 静态方法 class Room: tag = 168 def __ini ...

  6. Struts2 ModelDriven接口使用

    用户在做http请求时一般都有两种方式:get和post方式.get方式用来获取查询相关信息,既向服务器获得信息,而post方式用来更新信息既向服务器提交数据.通常情况下,用get方式向服务器获取信息 ...

  7. Javascript面向对象特性实现封装、继承、接口详细案例——进级高手篇

    Javascript面向对象特性实现(封装.继承.接口) Javascript作为弱类型语言,和Java.php等服务端脚本语言相比,拥有极强的灵活性.对于小型的web需求,在编写javascript ...

  8. C#类继承和接口继承时一些模棱两可的问题[转]

    原文地址:http://www.cnblogs.com/harleyhu/archive/2012/11/29/2794809.html 1.在father定义的方法若含有virtual关键字,chi ...

  9. Java中类继承、接口实现的一些细节(长期更新)

    前言 在Java中,子类继承父类,类实现接口是属于常识性的内容了,作为一个Java程序员应该也比较熟悉.不过子类继承父类,类实现接口中还是有一些小细节值得注意一下,本文就从个人工作.学习中入手,总结一 ...

随机推荐

  1. iframe属性參数

    iframe属性參数 当点击一个子页面的链接时, 怎样将还有一个子页面嵌入到当前iframe中 仅仅要给这个iframe命名就能够了. <iframe width=420 height=330 ...

  2. 双向链表实现简单的list

    双向链表结构: 定义一个如下结构体 struct Node { Object data; Node *next; Node *prev; }; 下面为list的具体实现: #include <i ...

  3. Java栈的实例-数组和链表两种方法(转)

    一.栈 栈的定义 栈(Stack)是限制仅在表的一端进行插入和删除运算的线性表. (1)通常称插入.删除的这一端为栈顶 (Top),另一端称为栈底 (Bottom). (2)当表中没有元素时称为空栈. ...

  4. hdu 4308 Saving Princess claire_ BFS

    为了准备算法考试刷的,想明确一点即可,全部的传送门相当于一个点,当遇到一个传送门的时候,把全部的传送门都压入队列进行搜索 贴代码: #include <iostream> #include ...

  5. Android应用-包装脚本批量方法

    1. 设定ant周边环境 加入用户变量: 变量名:ANDROID_SDK_ROOT 变量值:D:\Android Develop\adt-bundle-windows-x86_64-20140321\ ...

  6. Unity 捕获IronPython脚本错误

    using System; using System.Collections.Generic; using System.IO; using System.Reflection; using Syst ...

  7. 认识Backbone (一)

    Backbone.js为复杂WEB应用程序提供模型(models).集合(collections).视图(views)的结构.其中模型用于绑定键值数据和自定义事件:集合附有可枚举函数的丰富API: 视 ...

  8. Lua基础(转)

    局部定义与代码块: 使用local声明一个局部变量或局部函数,局部对象只在被声明的那个代码块中有效. 代码块:一个控制结构.一个函数体.一个chunk(一个文件或文本串)(Lua把chunk当做函数处 ...

  9. ARM装配说明MCR/MRC学习

    MCR指令ARM数据寄存器传送到协处理器寄存器.假设协处理器不能成功运行操作.会产生未定义指令中止. 语法教学格式: MCR{<cond>} p15, 0, <Rd>, < ...

  10. therefore/so/hence/then/accordingly/Thus

    这几个词的区别大致可从以下几方面去看:1.therefore adv.因此, 所以=for that reason=consequently常用于连接两个并列分句,其前加“and”或分号“:”.He ...