struts2.18整合json和ExtJs4.0实例
来源:互联网 发布:sql中replace判断空值 编辑:程序博客网 时间:2024/05/22 15:29
用到的jar包有:
commons-beanutils-1.7.0.jar、commons-collections-3.2.jar、commons-fileupload-1.2.1.jar、commons-io-1.3.2.jar、commons-lang-2.3.jar、commons-logging-1.0.4.jar、freemarker-2.3.15.jar、json-lib-2.1.jar、ognl-2.7.3.jar、struts2-core-2.1.8.1.jar、struts2-json-plugin-2.1.8.1.jar、xwork-core-2.1.6.jar
这些包在struts2.1.8的lib文件夹中都有,还需要加上一个ezmorph-1.0.4.jar,本实例中没有用到jsonplugin-0.33.jar包。
一、首先写一个javabean:Person.java
- package com.leo.bean;
- public class Person {
- private String name;
- private int age;
- private String sex;
- private String birthday;
- public Person(String name, int age, String sex, String birthday) {
- super();
- this.name = name;
- this.age = age;
- this.sex = sex;
- this.birthday = birthday;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- public int getAge() {
- return age;
- }
- public void setAge(int age) {
- this.age = age;
- }
- public String getSex() {
- return sex;
- }
- public void setSex(String sex) {
- this.sex = sex;
- }
- public String getBirthday() {
- return birthday;
- }
- public void setBirthday(String birthday) {
- this.birthday = birthday;
- }
- }
package com.leo.bean;public class Person {private String name;private int age;private String sex;private String birthday;public Person(String name, int age, String sex, String birthday) {super();this.name = name;this.age = age;this.sex = sex;this.birthday = birthday;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}public String getSex() {return sex;}public void setSex(String sex) {this.sex = sex;}public String getBirthday() {return birthday;}public void setBirthday(String birthday) {this.birthday = birthday;}}
二、写Action:ExtjsAction.java
- package com.leo.action;
- import java.util.ArrayList;
- import java.util.List;
- import com.leo.bean.Person;
- import com.opensymphony.xwork2.ActionSupport;
- public class ExtjsAction extends ActionSupport {
- private long results;
- private List items;
- public long getResults() {
- return results;
- }
- public void setResults(long results) {
- this.results = results;
- }
- public List getItems() {
- return items;
- }
- public void setItems(List items) {
- this.items = items;
- }
- public String execute() throws Exception {
- this.results = 3;
- Person p1 = new Person("张三", 29, "男", "1990-10-22");
- Person p2 = new Person("李四", 28, "男", "1991-03-30");
- Person p3 = new Person("王五", 27, "女", "1993-08-17");
- this.items = new ArrayList<Person>();
- this.items.add(p1);
- this.items.add(p2);
- this.items.add(p3);
- return SUCCESS;
- }
- }
package com.leo.action;import java.util.ArrayList;import java.util.List;import com.leo.bean.Person;import com.opensymphony.xwork2.ActionSupport;public class ExtjsAction extends ActionSupport {private long results;private List items;public long getResults() {return results;}public void setResults(long results) {this.results = results;}public List getItems() {return items;}public void setItems(List items) {this.items = items;}public String execute() throws Exception {this.results = 3;Person p1 = new Person("张三", 29, "男", "1990-10-22");Person p2 = new Person("李四", 28, "男", "1991-03-30");Person p3 = new Person("王五", 27, "女", "1993-08-17");this.items = new ArrayList<Person>();this.items.add(p1);this.items.add(p2);this.items.add(p3);return SUCCESS;}}
三、写配置文件
1.web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
- version="2.5">
- <display-name>struts2</display-name>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- </welcome-file-list>
- <filter>
- <filter-name>struts2</filter-name>
- <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
- </filter>
- <filter-mapping>
- <filter-name>struts2</filter-name>
- <url-pattern>/*</url-pattern>
- </filter-mapping>
- </web-app>
<?xml version="1.0" encoding="UTF-8"?><web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"version="2.5"><display-name>struts2</display-name><welcome-file-list><welcome-file>index.jsp</welcome-file></welcome-file-list><filter><filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class></filter><filter-mapping><filter-name>struts2</filter-name><url-pattern>/*</url-pattern></filter-mapping></web-app>
2.struts.xml
- <?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>
- <include file="struts-default.xml" />
- <package name="json" namespace="/" extends="json-default">
- <action name="extjs" class="com.leo.action.ExtjsAction">
- <result type="json"></result>
- </action>
- </package>
- </struts>
<?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><include file="struts-default.xml" /><package name="json" namespace="/" extends="json-default"><action name="extjs" class="com.leo.action.ExtjsAction"><result type="json"></result></action></package></struts>
四、最后写jsp
index.jsp
- <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <title>ExtJs与Struts2结合</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" type="text/css"
- href="../../ext-4.0.7/resources/css/ext-all.css" />
- <script type="text/javascript" src="../../ext-4.0.7/bootstrap.js"></script>
- <script type="text/javascript"
- src="../../ext-4.0.7/locale/ext-lang-zh_CN.js"></script>
- <script type="text/javascript">
- Ext.onReady(function() {
- Ext.create('Ext.grid.Panel', {
- title : '人员列表',
- renderTo : Ext.getBody(),
- width : 400,
- height : 170,
- frame : true,
- store : {
- fields : [ 'name', 'age', 'sex', 'birthday' ],
- proxy : {
- type : 'ajax',
- url : '/s2json/extjs.action',
- reader : {
- type : 'json',
- root : 'items'
- }
- },
- autoLoad : true
- },
- columns : [ new Ext.grid.RowNumberer(), {
- header : "姓名",
- width : 80,
- dataIndex : 'name',
- sortable : true
- }, {
- header : "年龄",
- width : 80,
- dataIndex : 'age',
- sortable : true
- }, {
- header : "性别",
- width : 80,
- dataIndex : 'sex',
- sortable : true
- }, {
- header : "生日",
- width : 80,
- dataIndex : 'birthday',
- sortable : true
- } ]
- });
- });
- </script>
- </head>
- <body>
- </body>
- </html>
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><title>ExtJs与Struts2结合</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" type="text/css"href="../../ext-4.0.7/resources/css/ext-all.css" /><script type="text/javascript" src="../../ext-4.0.7/bootstrap.js"></script><script type="text/javascript"src="../../ext-4.0.7/locale/ext-lang-zh_CN.js"></script><script type="text/javascript">Ext.onReady(function() {Ext.create('Ext.grid.Panel', {title : '人员列表',renderTo : Ext.getBody(),width : 400,height : 170,frame : true,store : {fields : [ 'name', 'age', 'sex', 'birthday' ],proxy : {type : 'ajax',url : '/s2json/extjs.action',reader : {type : 'json',root : 'items'}},autoLoad : true},columns : [ new Ext.grid.RowNumberer(), {header : "姓名",width : 80,dataIndex : 'name',sortable : true}, {header : "年龄",width : 80,dataIndex : 'age',sortable : true}, {header : "性别",width : 80,dataIndex : 'sex',sortable : true}, {header : "生日",width : 80,dataIndex : 'birthday',sortable : true} ]});});</script></head><body></body></html>
五、效果图
- struts2.18整合json和ExtJs4.0实例
- struts2.18整合json和ExtJs4.0实例
- struts2和json整合
- extjs4 tree struts2 json
- struts2和json的整合
- struts2和json的整合
- Extjs4.0+struts2简单MVC 实例demo
- Extjs4.0+struts2简单MVC 实例demo
- struts2和jFreeChart整合实例
- Struts2和Spring整合实例【转】
- struts2整合json使用
- Struts2整合JSON
- struts2整合json
- struts2整合json
- struts2 与json 整合
- struts2整合json使用
- struts2整合json
- ExtJS4+JSON+Servlet/Struts2实现登录验证
- 按行输入的实现方法
- iframe标签的内部关闭存在一个问题(未知原因)
- 自订标签库--TagSupport详解
- RAMOS windows7 制作教程(测试成功,看原文)
- MD /MDD /ML /MT /MTD的简单介绍
- struts2.18整合json和ExtJs4.0实例
- servletContext对象
- iPad: Icon.png: icon dimensions (0 x 0) don’t meet the size requirements
- apache配置子域名
- ubuntu网络已禁用
- 颜色替换工具
- php ORM:(Object/Relation Mapping 对象关系映射) 浅见
- 交叉编译 LIVE555 Streaming Media 的方法
- Hibernate创建数据库