struts2中json的使用

7 篇文章 0 订阅

首先我的类关系

实体类:

class entityClass{

     private int id;

}

class model extends entityClass{

     private String username;

     private String password;

}

 

然后action中

class modelAction extends ActionSupport{

   private boolean success;

   private Model model;

   //以json对象返回jsp页面必须要有get方法。

   //get方法、、、、

}

 

action的配置文件:

 

<package name="model" namespace="/"
  extends="json-default">
  <action name="delete_action" class="modelAction"
   method="delete">
   <result name="delete" type="json">
    <!-- 设置要返回的数据,比如:action中有getModel、getSuccess等get方法,可以用root属性设置序列哪一个 -->
    <param name="root">success</param>
    <!-- includeProperties这个参数直接返回对象的json数据,前台不需要eval转换,<param name="root">result</param>则不同,需要前台进行eval转换-->
    <!--  <param name="includeProperties">success</param>  -->
    <!-- ignoreHierarchy 参数:表示是不是纰漏等级,也就是继承关系,
    好比:TestAction继承于BaseAction,那么TestAction中归回的json字符串默 认是不会包含父类BaseAction的属性值,
    ignoreHierarchy值默认为true,设置为false后会将父类以及子类的属性一起归回。

    设置次属性为false后,会将entityClass中的id也序列化,否则不会序列化id。

-->
     <param name="ignoreHierarchy">false</param>
     <!-- 剔除model中的部分属性,一般不与includeProperties属性一起使用 -->
     <!--  <param name="excludeProperties">id</param>  -->
   </result>
   <result name="error" type="json"></result>
  </action>

 

jsp页面接收json对象:

function postConnect() {
 var request = false;
 try {
  request = new XMLHttpRequest();
 } catch (trymicrosoft) {
  try {
   request = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (othermicrosoft) {
   try {
    request = new ActiveXObject("Microsoft.XMLHTTP");
   } catch (failed) {
    request = false;
   }
  }
 }

 if (!request) {
  alert("Error initializing XMLHttpRequest!");
  return false;
 }
 return request;
}

function booleanCheck(id) {
 var request = postConnect();
 if (!request) {
  alert("访问失败");
 }
 var url = "<%=request.getContextPath()%>/delete_action?id=" + id;
 request.open("GET", url, true);
 request.onreadystatechange = function(){
 
  if (request.readyState == 4) {
            if ((request.status >= 200 && request.status < 300) || request.status == 304) {
    var obj = eval('(' + request.responseText + ')' );   //上面的两个if语句一定要加,否则eval方法会返回多条数据(包含错误数据)。request.responseText是返回的json对象。
    if(obj){
    $("tr[id='" + id + "']").remove();  //此处刷新列表
    }else{
     alert("删除失败!");
    }
           }
            else {
                alert("Request was unsuccessful: " + request.status);
            }
        }
 };
 request.send(null);
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值