struts2返回json数据的方法一 使用json-default

struts2默认使用json_lib传送数据 所需jar包如下:

json-lib-2.1.jar

struts2-json-plugin-2.1.8.1.jar

commons-logging-1.0.4.jar

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
  <package name="struts" extends="json-default" namespace="/">
   <action name="jsonTest" class="com.acca.action.JsonTestAction" method="jsonTest">
     <result type="json">
       <param name="root">jsonMap</param>
     </result>
   </action>
  </package>
</struts> 
 
public class JsonTestAction extends ActionSupport {

    private Map jsonMap = new HashMap();
    private String userName;

    /**
     * @return the userName
     */
    public String getUserName() {
        return userName;
    }

    /**
     * @param userName the userName to set
     */
    public void setUserName(String userName) {
        this.userName = userName;
    }

    /**
     * @return the jsonMap
     */
    public Map getJsonMap() {
        return jsonMap;
    }

    /**
     * @param jsonMap the jsonMap to set
     */
    public void setJsonMap(Map jsonMap) {
        this.jsonMap = jsonMap;
    }

    public String jsonTest() {

        if("admin".equals(userName)){
            jsonMap.put("msg", "登陆成功");
            return SUCCESS;
        }else{
            jsonMap.put("msg", "登陆失败");
            return SUCCESS;
        }
        
    }

}
 
<%@ page language="java" contentType="text/html; charset=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;">
<title>Insert title here</title>
<script type="text/javascript" src="jquery/jquery-1.7.2.min.js"></script>
<script type="text/javascript">
function doSubmit() {
    $.ajax({
    type: "post",
    data:{"userName":"admin"},
    url: "jsonTest",
    dataType: "json",
    cache: false,
    success: function(data) {
      $.each(data, function(key, val) {
        if (key == "msg" && val != ''){
          $("#mes").html(val);
            return false;
        }
      });
    }
  });
  }
</script>
</head>
<body>
<div id="mes"></div>
<input type="button" value="提交" onclick="doSubmit()">
</body>
</html>
 

你可能感兴趣的:(struts2 json)