`
endual
  • 浏览: 3567381 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

struts2 整合extjs实例---JsonStore

    博客分类:
  • ajax
阅读更多

 

       Extjs作为前台的界面展示是非常好的框架,ajax技术的使用使得B/S系统犹如C/S一般。

       下面的实例是extjs与struts2整合的实例,网上的实例写的都挺好,但我发现配置文件往往很少写出来的。

 

      1.struts2 jar包的引入:

       在上次的图片中,括号的是要格外加入的json 包,struts2支持josn要用到这个,有人说是josn的拦截器。

    

      2.struts2的代码:

 

 

import com.opensymphony.xwork2.ActionSupport;

public class JsonAction extends ActionSupport{

 private int id;
 private String name;
 private String password;
 @Override
 public String execute() throws Exception {
  
  System.out.println("****************");//检测extjs前端的函数不是不访问改action
  this.id = 5;
  this.name = "chenwei";
  this.password = "123456";
  
  return "success";
 }
 public int getId() {
  return id;
 }
 public void setId(int id) {
  this.id = id;
 }
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public String getPassword() {
  return password;
 }
 public void setPassword(String password) {
  this.password = password;
 }
 
}

 

3.struts2的配置文件

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

<struts>

    <constant name="struts.enable.DynamicMethodInvocation" value="false" />
    <constant name="struts.devMode" value="true" />
    <constant name="struts.objectFactory" value="spring" />
  

     <package name="ext"  extends="json-default">

 

      <action name="jsonAction1" class="json.actions.JsonAction">


               <result type="json" name="success">


                 <param name="includeProperties">id,name,password</param>


               </result>


       </action>
     
     </package>
    
</struts>

      这里需说明的是:“success”是struts2的action中的方法返回的值,解释到以后就执行这个result,有的老师或者朋友写着的是:action的方法返回的null,这样可能也行,但是我测试好多次就是搞不出来。

       其实我觉得和一般的返回是一样的,返回什么字符串(比如success,error等等),result接到相应的字符串,就执行相应result.

      下面是最重要的说明: 

      <param name="includeProperties">id,name,password</param>

   

    name="includeProperties"中的includeProperties是固定的参数名字,一共有三个,还有两个是root和excludeProperties。

 

使用方法:
includeProperties 参数:输出结果中需要包含的属性值,这里正则表达式和属性名匹配,可以用“,”分割填充多个正则表达式。
  如<param name="includeProperties">module.*,user\.userName</param>  表示是module的所有属性及用户的用户名
excludeProperties 参数:输出结果需要排除的属性值,也支持正则表达式匹配属性名,可以用“,”分割填充多个正则表达式,类同includeProperties。

  

   实例的意思就是把三个设置的值,id,name,password暴露出来,让extjs接受。这样struts2端就写好了。

 

 

extjs代码:

 


  Ext.onReady(function(){
     

 var vstore = new Ext.data.JsonStore({//定单的数据
  autoDestory:true,
  url:'jsonAction1.action',
  //root:'lists',这个字段可以在探究下,有朋友如有有兴趣一起讨论下QQ1019990976 注明jsonstore
  //totalProperty:"rowCount",//总的记录数据
  idProperty:'id',
  fields:["id","name","password"]
         
 });
 

     var grid = new Ext.grid.GridPanel({
      title:"高级管理员",
      store:vstore,
      columns:[{header:"ID",     dataIndex:"id",width:20},
            {header:"采购单号", dataIndex:"name",width:100},
            {header:"采购日期", dataIndex:"password",width:100}
            ]
            
     });
    
    vstore.load();
   
   new Ext.Viewport({
     layout:"border",
     items:[{
       title:"超级管理员界面",
        region:"north",
          html:"<center>基于Extjs的缺陷管理系统</center>",
        //html:"<img src='head1.jsp'/>",
        height:100
      },{
          region:"west",
          title:"功能菜单",
          width:150,
          items:menu,
          split:true
 
      },{
          region:"center",
          title:"主区域",
          //layout:"fit",
          id:"mainContent",
          items:grid
      }]
    });
   
  });

 

 


html的代码

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>测试界面</title>
 
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="this is my page">
    <meta http-equiv="content-type" content="text/html; charset=GBK">
   
  <link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css">
     <script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script>
     <script type="text/javascript" src="extjs/ext-all.js"></script>
     <script type="text/javascript" src="testext/3.js"></script>

  </head>
 
  <body>

  </body>
</html>

 

 

这样就OK了。

 

 

    后续工作是:Set list map 还有自己定义的类比如 Page 里面有三个字段这样的实体类 怎么传递到extjs中去,这个是需求探讨的。

    extjs我觉得最大的问题的怎么使用接受参数,因为现在可视化的可编辑软件已经开发出了,数据转换以后,就可能代人使用。所有如果熟练使用了extjs交互的ajax函数,那么就掌握了extjs的开发。

 

 

 

 

   我的QQ:1019990976, 注明exjts  jsonstore ,欢迎一起探讨我上面提出的问题,如果你是刚刚接触extjs的那么请先入门的。

   推荐使用的视频是:浪夕的视频,传智播客的extjs视频,看过这两个视频,那么保证你一定入门了,大概入门时间在一个星期。

  • 大小: 39.5 KB
分享到:
评论

相关推荐

    struts2 json extjs 完整实例

    struts2 json extjs 完整实例 struts2 json extjs 完整实例 完整可用 无错! struts2 json extjs 完整实例 struts2 json extjs 完整实例 完整可用 无错! struts2 json extjs 完整实例 struts2 json extjs 完整...

    struts2和ExtJs整合实例

    整合Struts2和ExtJS的主要目的是利用Struts2的强大后端处理能力,结合ExtJS的前端交互性和用户体验,打造高性能、易维护的Web应用。下面将详细介绍整合过程中的一些关键知识点: 1. **Struts2与ExtJS的通信方式**:...

    struts2+extjs+json整合实例

    在Struts2和ExtJS整合中,JSON起到桥梁作用,将服务器端的Action产生的数据转换为JSON格式,然后由ExtJS前端解析并显示在界面上。 整合Struts2、ExtJS和JSON的步骤通常包括以下几个部分: 1. **设置Struts2的JSON...

    extjs实例--------嗖嗖嗖

    这个实例——"嗖嗖嗖",似乎是一个基于ExtJS的项目,但具体的功能或用途并未在标题和描述中明确指出。不过,我们可以根据提供的文件名来推测一些关键知识点。 1. **ext-all.js**:这是ExtJS库的核心文件,包含了...

    Hibernate+Spring+Struts2+ExtJS整合开发实例

    "Hibernate+Spring+Struts2+ExtJS整合开发实例"就是一个典型的Java Web应用程序开发案例,它将四个关键组件结合在一起,以实现高效、模块化的后端和前端功能。 **Hibernate** 是一个流行的Java对象关系映射(ORM)...

    Struts2与extjs整合例子

    描述中的“Struts2与extjs整合例子”暗示我们将通过一个实际的示例来了解整合过程。这可能包括以下几个关键步骤: 1. **环境配置**:首先,你需要确保你已经安装了JDK、Apache Tomcat服务器、Eclipse或类似的IDE,...

    ExtJS+struts2+json登陆实例--源码

    这是一个基于ExtJS、Struts2和JSON的登录实例,适合初学者学习Web应用程序开发。这个实例演示了如何将前端的JavaScript框架ExtJS与后端的Java MVC框架Struts2结合,通过JSON进行数据交换实现用户登录功能。下面将...

    Struts2、Spring、Hibernate整合ExtJS,

    ### Struts2、Spring、Hibernate整合ExtJS:深入解析与实践 #### 一、概述 在现代企业级应用开发中,通常会采用多种框架和技术进行整合以满足复杂业务需求。Struts2、Spring 和 Hibernate 是 Java Web 开发领域内...

    深入浅出EXTJS320-395

    深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320深入浅出EXTJS241-320...

    整合--Struts2为extjs提供server数据

    【整合Struts2与Extjs】 在Web开发中,前端和后端的数据交互是必不可少的,特别是对于富客户端应用,如使用Extjs构建的界面。传统的数据获取方式可能涉及Servlet或其他HTTP服务接口,但这样的方式在处理大量数据请求...

    struts spring ibatis extjs 实例

    Struts、Spring、iBatis 和 ExtJS 是四个在IT行业中广泛应用的开源框架和技术,它们在构建企业级Java Web应用程序时发挥着重要作用。这个实例由Atanas Neshkov创建,旨在展示这些技术如何协同工作,提供高效且用户...

    Extjs4---combobox省市区三级联动+struts2

    在这个特定的项目“Extjs4---combobox省市区三级联动+struts2”中,我们将探讨如何利用ExtJS 4的ComboBox组件实现省市区的三级联动效果,并结合Struts2框架进行数据交互。 首先,`ComboBox`是ExtJS中的一个组件,它...

    struts2+extjs3 单/多文件上传

    Struts2和ExtJS3是两个非常流行的开源框架,它们在Web开发中有着广泛的应用。Struts2是一个基于MVC(Model-View-Controller)设计模式的Java Web框架,而ExtJS3则是一个用于构建富客户端JavaScript应用的库。本文将...

    struts2-hibernate-spring-Extjs-json.rar_JSON_extjs_extjs json st

    这个压缩包“struts2-hibernate-spring-Extjs-json.rar”显然包含了关于这些技术整合使用的参考资料。下面将详细阐述这些技术以及它们之间的交互。 1. **Struts2**: Struts2是一个基于MVC(模型-视图-控制器)...

    ExtJS与Struts2的整合工程实例

    6. **工程实例**:"Struts2_ExtJS"可能是实际整合后的工程源码,可以作为学习和参考的模板,通过阅读和运行这个工程,开发者可以更直观地理解两者的整合过程。 总的来说,ExtJS与Struts2的整合能够充分发挥两者的...

    struts2-extjs4.rar

    Struts2和ExtJS4是两个非常流行的Java Web开发框架,它们可以协同工作,提供功能丰富的用户界面和高效的服务器端处理。"struts2-extjs4.rar"这个压缩包文件包含了一个示例项目,演示了如何使用ExtJS4与Struts2进行...

    extjs2----关于extjs 的使用,操作

    在标题"extjs2----关于extjs 的使用,操作"中,我们可以看出这是一份关于ExtJS 2.0版本的使用指南,主要涵盖了其基本操作和应用。描述中提到内容较为初级,适合初学者学习,这表明我们将探讨的是ExtJS的基础概念和...

    struts2+extjs整合包

    总的来说,这个整合包提供了开发基于Struts2和ExtJS的Web应用所需的基本组件,可以快速构建出高效、交互性强的Web应用。开发者需要理解这两个框架的工作原理,以及如何利用它们的优势来优化项目结构和提高用户体验。

    extjs extjs-basex.js

    extjs-basex.js extjs-basex.js extjs-basex.js

Global site tag (gtag.js) - Google Analytics