`
xinyoulinglei
  • 浏览: 125963 次
社区版块
存档分类
最新评论

STRUTS2与JSON的LIST和MAP对象返回

    博客分类:
  • java
阅读更多
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
   
    <title>My JSP 'JsonLogin.jsp' starting page</title>
   
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">   
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<link rel="stylesheet" href="conf/themes/default/easyui.css" type="text/css" media="screen" />
    <link rel="stylesheet" href="conf/themes/icon.css" type="text/css" media="screen" />
    <script src="conf/js/jquery-1.3.2.min.js"></script>
    <script src="conf/js/jquery.easyui.min.js"></script>
<script src="conf/js/easyui-lang-zh_CN.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->

<script type="text/javascript">

$(document).ready(function() {
    // 直接把onclick事件写在了JS中
    $("#submit").click(function() {
       $.ajax({       
           url : "jsonLogin.action",// 后台处理程序         
           type : "post", // 数据发送方式          
           dataType : "json",// 接收数据格式
           //dataType : "text",          
           data : "loginBean.userName="+$("#username").val() + "&loginBean.passwd="+$("#password").val(),// 要传递的数据          
           // 回传函数
            timeout:20000,// 设置请求超时时间(毫秒)。
            error: function () {// 请求失败时调用函数。
                  $("#msg").html("请求失败!"); 
            }, 
            /* success:function(data){ //请求成功后回调函数。
             var dataObj=eval("("+data+")");//如果dataType是text则需要转换为json对象
             $("#msg").html(dataObj.message);
             alert("用户名:"+dataObj.user.username+",密码:"+dataObj.user.password);
            }*/
           
            success:function(data){ // 请求成功后回调函数。如果dataType是json不就需要再转换为json对象
           
            //var resuletData= eval('('+data+')');
            //alert(resuletData.message); 
           
            //var resData = eval('(' + data + ")");
            //location.href='Temp.jsp';
$("#msg").html(data.message); 

var Reslist = data.list;
var listTemp="";
$.each(Reslist,function(i,tempLoginBean)
{  
            listTemp+=tempLoginBean.userName +"  ";
            //Reslist[i].userName也可以写成loginBean.userName
            });
$("#list").html("循环list===="+listTemp);

//循环取map中的值
var mapTemp = "";
var resMap =  data.dataMap;
alert("resMap=="+resMap['001'][0].userName);

$.each(resMap['002'],function(j,tempList)
{  
mapTemp += tempList.userName;
            });

$("#map").html("循环Map===="+mapTemp);


//手工去list的值
//$("#list").html("List===="+data.list[0].userName);

//手工去map的值
//$("#map").html("Map===="+data.dataMap[1][0].userName);

alert("用户名:"+data.loginBean.userName+",密码:" + data.loginBean.passwd);
           }
       });
    });
});

</script>



  </head>
 
  <body>
  <div id="msg"></div>
<div id="list"></div>
<div id="map"></div>
username:
<input name="loginBean.userName" id="username" type="text" />
<br />
password:
<input name="loginBean.passwd" id="password" type="password" />
<br />
<input type="submit" id="submit" value="登陆">
</body>
</html>
=====================================================
public class JsonLogin extends BSSBaseAction
{

    /**
     * 注释内容
     */
    private static final long serialVersionUID = 1L;
   
    private String message;
   
    private LoginBean loginBean;
   
    List<LoginBean> list;
   
    Map<String,List<LoginBean>> dataMap;
get set.....
public String loginJsonCheck() throws Exception
    {
        if ("admin".equals(loginBean.getUserName())
            && "admin".equals(loginBean.getPasswd()))
        {
//            message = "登陆成功!";
            System.out.println("user:" + loginBean.getUserName() + "   pass:"
                + loginBean.getPasswd());
            list    = LoginService.getAllUsers().get("001");
            dataMap = LoginService.getAllUsers();
            StringBuffer sbuff =  super.getJsonString("root",dataMap, null);
            message = sbuff.toString();
            System.out.println(message);
        }
        else
        {
            message = "用户名/密码有误!";
        }

        return SUCCESS;
    }  
===============================================================
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
    "http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>

<!-- 项目经历 -->
<package name="login" namespace="/" extends="json-default">
<action name="ideLogin" method="login" class="loginAction">
<result type="json">
<param name="ignoreHierarchy">false</param>
</result>
</action>
<action name="init" method="init" class="loginAction">
<result type="json"></result>
</action>

<!-- jsonLogin.aciton的配置文件 -->
<action name="jsonLogin" class="jsonLoginActoin" method="loginJsonCheck">
<result type="json">
<param name="includeProperties">
list.*,loginBean.*,message,dataMap.*</param>
</result> 
</action>



</package>
</struts>

分享到:
评论

相关推荐

    struts2的方式返回json到jsp页面 List,Map,Object,对象各种操作都有....MyEclipse的,导入直接看效果。

    jsp通过Ajax无刷新获取Action返回的模拟数据,然后通过struts2转化成json数据返回页面....这里面Map,List,对象等等,一些常用的操作都有。主要的代码在Action和 json.js里面。适合新手入门

    struts2-json

    Action方法可以返回一个Map、List或其他集合对象,这些对象的元素将被转换为JSON。如果需要自定义哪些属性包含在JSON中,可以使用`@SkipValidation`和`@IncludeProperties`注解。 5. **JSON插件配置**: 可以通过...

    sturts框架下返回json数据 list map 对象

    通过以上步骤,你可以在Struts框架下顺利地返回JSON数据,无论是list对象、map对象还是自定义的Java类对象,都可以轻松实现。在实际开发中,根据项目需求,你还可以结合Spring、Hibernate等其他框架,构建更复杂的...

    struts2 json传输对象文档+jar包

    总的来说,Struts2与JSON的结合使用,让Java Web开发更加灵活和高效。通过学习和掌握这部分知识,开发者可以创建更富交互性的Web应用,提高用户体验。同时,理解JSON Lib库如何工作,也有助于在其他Java项目中处理...

    AjaxStruts2Json实例

    Struts2提供了`struts2-jquery-plugin`和`struts2-json-plugin`两个插件来实现Ajax功能。在这个实例中,我们将主要使用`struts2-json-plugin`,它能够方便地将Action的结果以JSON格式返回给客户端。 1. **环境配置*...

    Struts2JQueryJson

    Struts2在后台处理业务逻辑后,可以将结果集转化为JSON对象,这些对象可以是Map类型,其中键值对对应于数据库中的列名和值;也可以是List类型,每个元素代表一行记录。前端使用JQuery遍历JSON数据,动态创建HTML元素...

    struts+json+jquery练习小项目包括返回单个字符、对象、list、map

    在这个练习小项目中,我们关注的是如何利用Struts2与JSON(JavaScript Object Notation)和jQuery进行集成,以实现数据的交互和展示。JSON是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成...

    struts2+json

    通常,这个属性会是一个Map、List或者其他可以转化为JSON的对象。 4. **JSON插件的设置**: 可能需要配置JSON插件,例如排除某些不必要的字段,或者指定日期格式等。这可以通过在配置文件中添加以下内容来完成: ``...

    struts2.3.20生成返回json 浏览器解析json

    在Struts2中,生成JSON响应主要通过使用Struts2的JSON插件来实现。首先,确保你的项目已经集成了Struts2的JSON插件。这通常涉及到在`struts.xml`配置文件中添加相应的配置: ```xml &lt;constant name="struts.enable....

    json包及依赖包 struts2集成包

    在描述中提到的"struts2集成包",即Struts2的JSON插件,是Struts2框架与JSON集成的关键,它允许Struts2的Action返回JSON格式的数据,从而实现与前端的AJAX交互。 `json-lib`是一个Java语言实现的JSON库,它提供了一...

    Struts2中使用JSON数据格式所需全部jar包

    当Action执行完成后,返回"success",Struts2的JSON插件会根据配置自动将`result`和`list`属性转换为JSON并发送给客户端。 总的来说,Struts2通过整合JSON,提高了Web应用的响应速度和用户体验,使得服务器与客户端...

    Struts2-Json-Plugin 的使用.docx

    Struts2-Json-Plugin 是一个专门为 Struts2 框架设计的插件,它使得在Struts2中能够方便地处理JSON数据,从而更好地支持Ajax请求。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,常用于前端与后端...

    struts2结合JSON的Ajax支持

    Struts2很好地支持了与JSON的集成,使得Ajax请求和响应变得更加简单高效。 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成。在Struts2中结合JSON,...

    Jquery+Struts2+JSON处理

    2. **Struts2与JSON插件** Struts2框架提供了JSON插件来支持JSON数据的生成和消费。首先,需要在struts.xml配置文件中启用JSON支持: ```xml &lt;constant name="struts.enable.SlashesInActionNames" value="true"/...

    java相关的Struts2-Json插件的使用例子.pdf

    Struts2 JSON插件是Java开发中用于处理JSON数据的一个工具,主要目的是为了方便Web应用在前后端交互时,能够快速地将Action对象转换为JSON格式的字符串,从而实现Ajax或者JSONP请求的响应。JSON(JavaScript Object ...

    ajax struts 无刷新访问后台返回json数据

    例如,可以返回一个包含list、map或自定义Java对象的JSON字符串。 - **使用JSON库**:在Java中,常用的JSON库有`org.json`和`com.google.gson`。例如,使用Gson库将Java对象转换为JSON字符串: ```java Gson gson ...

    ajax+json+Struts2实现list传递实例讲解.docx

    总结来说,这个实例演示了如何利用Ajax、JSON和Struts2框架在客户端与服务器之间传递和展示List数据,无需刷新整个页面。通过这种方式,可以提高用户体验,使Web应用更加动态和交互性更强。在实际开发中,这样的技术...

    Struts2+JQuery+Json实例

    在Struts2与JQuery结合的场景下,Action类可以接收并返回JSON对象,然后JQuery通过Ajax请求获取这个值。 3. **获取对象值**:如果JSON对象包含其他对象,可以通过点号或方括号语法访问。例如,`{"person": {...

    在Struts 2中使用JSON Ajax支持

    #### 一、Struts 2与JSON Ajax集成概览 在Web开发中,Struts 2框架因其强大的MVC架构支持和丰富的插件生态,被广泛应用于构建动态网页应用。而随着Ajax技术的发展,前后端分离的趋势越来越明显,开发者需要一种更为...

Global site tag (gtag.js) - Google Analytics