struts2 集成 easyui

关键点:

  1. json数据格式
  2. 获取json数据
  3. 输出json
  4. 分页

#json数据格式#

datagrid:

{"total":1,"rows":[{"name":"小李"}]}

combobox:

[{"value":"001","text":"小李"},{"value":"002","text":"小红"}]

其他:

#获取json数据#

参考 使用Map List 封装json数据

#输出json#

方式一:PrintWriter

public String getJsonData(){

        Map<String,Object> data = new HashMap<String,Object>();
        List<Map<String,Object>> personList = new ArrayList<Map<String,Object>>();
        Map<String,Object> person = new HashMap<String,Object>();

        person.put("name", "小李");
        personList.add(person);

        data.put("total", personList.size());
        data.put("rows", personList);

        HttpServletResponse response = ServletActionContext.getResponse();
        response.setContentType("text/html");
        response.setCharacterEncoding("utf-8");
        PrintWriter out;
        try {
            out = response.getWriter();
            out.println(JSONObject.fromObject(data));
            out.flush();
            out.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

PrintWriter

方式二:stream

片段一

InputStream inputStream;

    public InputStream getInputStream() {
        return inputStream;
    }

    public void setInputStream(InputStream inputStream) {
        this.inputStream = inputStream;
    }

    public String getJsonData(){

        Map<String,Object> data = new HashMap<String,Object>();
        List<Map<String,Object>> personList = new ArrayList<Map<String,Object>>();
        Map<String,Object> person = new HashMap<String,Object>();

        person.put("name", "小李");
        personList.add(person);

        data.put("total", personList.size());
        data.put("rows", personList);
        inputStream = new ByteArrayInputStream(JSONObject.fromObject(data).toString().getBytes());
        return "inputStream";
    }

.java 片段

片段二

<result type="stream" name="inputStream">
                <param name="bufferSize">1024*1024</param>
                <param name="inputName">inputStream</param>
            </result>

struts.xml 片段

方式三:json

片段一

<dependency>
            <groupId>org.apache.struts</groupId>
            <artifactId>struts2-json-plugin</artifactId>
            <version>2.3.15.3</version>
        </dependency>

pom.xml 片段

片段二

<?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="pages" namespace="/pages" extends="struts-default,json-default">
        <global-results>
            <result name="json" type="json" >
                <param name="root">jsonObject</param>
            </result>
        </global-results>
    </package>
</struts>

struts-view.xml

片段三

// 返回 JSON
    Object jsonObject;

    // 页面跳转
    static final String JSON = "json";

    public Object getJsonObject() {
        return jsonObject;
    }
    public void setJsonObject(Object jsonObject) {
        this.jsonObject = jsonObject;
    }

.java 片段

本实现方式需要引入struts2-json-plugin

  • struts.xml 需继承json-default

#分页#

见smse

时间: 2024-12-07 08:43:56

struts2 集成 easyui的相关文章

Spring与Struts2集成开发

Struts2和Spring都是不错的开源框架,Spring与Struts2集成开发,把二者结合在一起使用,开发效果更佳,效率杠杠的.下面介绍一下如何将Spring与Struts2集成在一起开发.分七步战略: 1.添加Struts2 支持jar包 :注意:加上一个Struts-spring-plugin(集成)插件包 2.添加spring 支持jar包 3.编写struts.xml配置文件 注意:Action是交由Spring管理:所以action class属性应和spring 中配置的Act

JQuery EasyUI 学习——Struts2与EasyUI DataGrid数据表格结合使用显示数据库数据

因为EasyUI DataGrid只要取出后台传过来的一定格式的JSON数据,就可以在前台页面数据表格中,以一定形式显示数据库中的数据.此处,我们使用Struts2框架整合DataGrid,实现数据的显示. 一.页面内容 为了在页面中显示数据库中字段内容,需要定义一个table,通过EasyUI内部设计,自动显示数据,如下: <%@ page language="java" import="java.util.*" pageEncoding="UTF

Struts2集成Spring

转载请注明出处:jiq?钦's technical Blog 1 集成Struts: 给web工程集成Struts2比较简单,下载struts2,将所需的jar文件add进去,然后配置web.xml增加请求处理者配置: <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmln

Struts2集成cos(转)

Struts2因License的原因早就不再支持Cos上传了,具体见http://struts.apache.org/2.1.6/docs/file-upload.html 的官方说明: There was a third alternative, cos, but it was removed due to licensing incompatibilities. 目前是内嵌了commons-fileupload,同时通过plugin方式支持Pell.但是struts.properties依然

Struts2之—集成Json插件实现Ajax

   上篇博客介绍了Struts2中自定义结果集实现Ajax,也分析了它的缺点:这样自定义的结果集,写死了,不能做到客户端需要什么数据就传什么数据:Struts2之-自定义结果集实现ajax 本篇博客提出Struts2的集成Json插件,很好的解决了自定义结果集带来的问题. 一,引题 1,Json数据格式简介 因为JSON是脱离语言的理想的数据交换格式,所以它被频繁的应用在客户端与服务器的通信过程中,这一点是毋庸置疑的.而在客户端与服务器的通信过程中,JSON数据的传递又被分为服务器向客户端传送

(二十四)Struts2 Spring集成

Spring是当下流行的Web框架,可提供带有许多常见Web任务的简易的集成.那么问题是,当我们有Struts2时,为什么我们需要Spring?因为Spring不仅仅是一个MVC框架,它提供了许多其他在Struts中不可用的好东西.例如:依赖注入可以对任何框架有用.在本章中,我们将通过一个简单的例子来了解如何将Spring和Struts2集成在一起.首先,你需要将以下文件添加到Spring的项目的构建路径.你可以从http://www.springsource.org/download下载并安装

(二十五)Struts2 Tiles集成

在本章中,我们会学习到将Tiles框架与Struts2集成所涉及的步骤.Apache Tiles是一个模板框架,用于简化Web应用程序用户界面的开发.首先,我们需要从Apache Tiles网站下载tiles jar文件.你需要将以下jar文件添加到项目的类路径. tiles-api-x.y.z.jar tiles-compat-x.y.z.jar tiles-core-x.y.z.jar tiles-jsp-x.y.z.jar tiles-servlet-x.y.z.jar 除了上面的,我们必

SSH Struts2+hiberante+Spring整合

使用SSH框架编写学生信息: 一.新建Java工程: (1)建立好Java各层级之间的结构:业务处理层dao,数据模型层domain,页面请求处理层(Struts2 MVC层)action,service层. (2)建立好各层的实现类及接口; (3)建立一个source folder文件夹,用来存放一些配置问价. (4)改变字节码生成的位置,改为WEB-INF下面的classes文件夹下. Java工程层级结构如下图: 二.hibernate整合到Spring容器中 步骤: 1.编写domain

Struts2 标签

使用struts2的标签需要先在jsp界面添加下面定义 <%@ taglib prefix="s" uri="/struts-tags"%> struts2的标签共分为五大类: 一.逻辑控制标签 1)条件标签:用于执行基本的条件流转 <s:if>:拥有一个test属性,其表达式的值用来决定标签里内容是否显示. <s:if test="#request.username=='hzd'">欢迎hzd</s:i