首先需导入包:ezmorph-1.0.4.jar

Action中的调用的方法:

public void getObject(){
  try {
   if(cname!=null&& !cname.equals("")){
    u=udao.findByName(cname);
    JSONObject obj=new JSONObject();
    obj.put("house", u.getHouse());//u是一个User对象
    actionUtil.sendStringToClient(obj.toString());
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

Json的封装类:

public class ActionUtil {
 /**
  * 将指定的字符串发送到客户端
  *
  * @param content
  * @throws Exception
  */
 public void sendStringToClient(String content) throws Exception {
  HttpServletResponse response = ServletActionContext.getResponse();
  response.setContentType("text/html;charset=UTF-8");
  response.getWriter().write(content);
 }
 
 public void sendSuccessToClient() throws Exception{
  this.sendStringToClient("success");
 }
 
 /**
  * 将List集合转换成对应的Json字符串
  * @param list 待转换的List集合
  * @return Json字符串
  * @throws Exception
  */
 public String generJsonStringFromList(List list) throws Exception {
  JSONArray array = JSONArray.fromObject(list);
  return array.toString();
 }
 
 public void sendJsonStringFromList(List list)throws Exception{
  this.sendStringToClient(this.generJsonStringFromList(list));
 }
}

Struts.xml中的配置:

<result-types>
   <result-type name="json" class="org.apache.struts2.json.JSONResult"></result-type>
  </result-types>

<action name="stipendObject" class="stipendformAction" method="getObject">
   <result type="json"></result>
  </action>

jsp页面中ajax:

//选择下拉列表中的某一项,其他显示框显示相应信息

function change(){

var obj = document.getElementById("name"); //定位id

var index = obj.selectedIndex; // 选中索引

var text = obj.options[index].text; // 选中文本

$.ajax({

   type:'POST',

  url:"stipendObject.action",

  data:{cname:text},

  success:function(data){     var obj=eval("("+data+")");     $("#house").val(obj.house);    }   });

}

jsp页面中的下拉列表

<s:select id="name" name="stipendform.name" list="ulist" class="input"
         listKey="id" listValue="username"  theme="simple" headerKey="0" headerValue="--------请选择员工-------"
         style="margin-bottom:5px;" onchange="change();" ></s:select>

若实现级联菜单:

二级菜单用<select id="c2" name="book.category2.id"
style="margin-bottom:5px;"><option value="">二级</option></select>

$.ajax({
type :"POST",
url : "cate2list.action",
data : {con : text},
// dataType : "json",
success : function(data) {
alert(data);
var obj = eval("(" + data + ")");
alert(obj.list);
//$("#c2").val(obj.list);
var e = document.form1.c2;
for (var i=0; i<obj.list.length; i++) e.options.add(new Option(obj.list[i], obj.list[i]));
},
error : function() {
alert('加载失败!');
}
});

public void getObject() {
try {
if (con != null && !con.equals("")) {
ActionUtil actionUtil = new ActionUtil();
JSONObject obj = new JSONObject();
c2list = c2Dao.findByCate1Id(c1Dao.findByName(con).getId());
List<String> str=new ArrayList<String>();

//将对象数组转换为字符串数组 对象数组obj.put会出错
for(int i=0;i<c2list.size();i++){
str.add(c2list.get(0).getName());
}
obj.put("list", str);
actionUtil.sendStringToClient(obj.toString());
}
} catch (Exception e) {
e.printStackTrace();
}
}

json在action,$.ajax{}中的使用的更多相关文章

  1. AJAX中的dataType(数据格式)-text、json

    因为经常使用数据格式,所以将它封装成类,J这样就不会用到时就写了,直接调用写好的类就可以了 (1)dataType数据格式为:TEXT格式的数据是字符串的数据,在"ajax对数据进行删除和查 ...

  2. Ajax中的JSON格式与php传输过程的浅析

    在Ajax中的JSON格式与php传输过程中有哪些要注意的小地方呢? 先来看一下简单通用的JSON与php传输数据的代码 HTML文件: <input type="button&quo ...

  3. 【转】AJAX中JSON数据的返回处理问题

    AJAX处理复杂数据时,便会使用JSON格式.常用在对数据库的数据查询上.在数据库查询到数据后,便可在处理页面直接将数据转为JSON格式,然后返回. 本篇主要讨论:jQuery中,JSON数据在AJA ...

  4. Ajax json交互和SpringMVC中@RequestBody

    Ajax json交互和SpringMVC中@RequestBody 标签: 背景 自己提供出去得接口中参数设置为@RequestBody VipPromotionLog vipPromotionLo ...

  5. ajax中的json和jsonp详解

    出现的问题: 花了点时间研究ajax中的json和jsonp的原理,这里记录一下.以前一直在使用ajax调用数据,但是从来没有遇到跨域问题,也从来没有注意过json和jsonp的区别,总是一通乱用.但 ...

  6. Django中数据传输编码格式、ajax发送json数据、ajax发送文件、django序列化组件、ajax结合sweetalert做二次弹窗、批量增加数据

    前后端传输数据的编码格式(contentType) 提交post请求的两种方式: form表单 ajax请求 前后端传输数据的编码格式 urlencoded formdata(form表单里的) ja ...

  7. ajax中设置contentType: “application/json”的作用

    最近在做项目交互的时候,刚开始向后台传递数据返回415,后来百度添加了 contentType:"application/json"之后返回400,然后把传输的数据格式改为json ...

  8. ajax中使用post传值数组array

    如果我们在data中想放入array的参数,根据在网上搜索的结果有如下方法,但是没有一个成功的……我还是贴出来,别人成功了,也许是我哪里不对,日后也许还有机会研究..在文章的最后贴出了转化为json的 ...

  9. ajax中加上AntiForgeryToken防止CSRF攻击

    经常看到在项目中ajax post数据到服务器不加防伪标记,造成CSRF攻击 在Asp.net Mvc里加入防伪标记很简单在表单中加入Html.AntiForgeryToken()即可. Html.A ...

  10. JSON.stringify实例应用—将对象转换成JSON类型进行AJAX异步传值

    在上一篇中,对JSON.stringify()方法有了初步的认识,并且做了一些简单的例子.本篇将进一步将JSON.stringify用在复杂些的实例中,例如如下需求: 在进jQuery AJAX异步传 ...

随机推荐

  1. Frenetic Python实验(三)

    实验5 repeater 这个实验在HelloSDNWorld里面做的实验是一样的.HelloSDNWorld 目的:模拟一个有多个端口的中继器. This application implement ...

  2. Linux 计划任务 Crontab 笔记与总结(2)Crontab 的基本组成与配置

    [Crontab 的基本组成] ① 系统服务 CROND:每分钟都会从配置文件刷新定时任务 ② 配置文件 :文件方式设置定时任务 ③ 配置工具 crontab:用途调整定时任务 [配置文件的配置文件格 ...

  3. adId、idfv

    //广告标示符,适用于对外:例如广告推广,换量等跨应用的用户追踪等. NSString *adId = [[[ASIdentifierManager sharedManager] advertisin ...

  4. Grand Theft Auto V (侠盗列车手5)图形研究

    原文地址:http://www.adriancourreges.com/blog/2015/11/02/gta-v-graphics-study/   原文的简介: GTA(侠盗猎车)系列自从1997 ...

  5. 浏览器User-agent String里的历史故事

    你是否好奇标识浏览器身份的User-Agent,为什么每个浏览器都有Mozilla字样? Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 ...

  6. Python函数1

    Python 函数命令的使用 想想我们之前数学中学到的函数,首先我们需要定义一个函数,例如f(x)=x, 当x输入任意数的时候,f(x)都能输出和x相等的数值. 那么在Python中是如何实现的呢? ...

  7. P1083 借教室

    思路:前缀和, c表示对于当前的middle, 前缀和 #include <bits/stdc++.h> using namespace std; const int maxn = 1e6 ...

  8. ubuntu下各个软件完全卸载

    1.卸载mysql sudo rm /var/lib/mysql/ -R删除mysql的数据文件2sudo rm /etc/mysql/ -R删除mqsql的配置文件3sudo apt-get aut ...

  9. 微信公众账号开发教程(一) 基本原理及微信公众账号注册 ——转自http://www.cnblogs.com/yank/p/3364827.html

    微信公众账号开发教程 基本原理 在开始做之前,大家可能对这个很感兴趣,但是又比较茫然.是不是很复杂?很难学啊? 其实恰恰相反,很简单.为了打消大家的顾虑,先简单介绍了微信公众平台的基本原理. 微信服务 ...

  10. mysql源码重启

    1.通过rpm包安装的MySQL service mysqld restart /etc/inint.d/mysqld start 2.从源码包安装的MySQL // linux关闭MySQL的命令 ...