- 浏览: 293344 次
- 性别:
- 来自: 扬州
文章分类
最新评论
-
wanglujiede:
幸亏看了这里,关于store的proxy的params问题顶一 ...
ExtJS 4.0 的改变(仅发表我发现的) -
freddie:
现在都extjs5了,感觉extjs3-extjs4变化挺大的 ...
ExtJS 4.0 的改变--较为完整的介绍。 -
jiangzi100:
写的真的很好,输入EXT这个工具很烂
EXTJS组件化(一)----建立你的思想 -
我飞我是飞飞:
StringHttpMessageConverter,我是3. ...
StringHttpMessageConverter乱码问题的解决(Spring 3.2) -
restmad:
999
EXTJS组件化(一)----建立你的思想
如果你也在写Ext JS的MVC,恰好又遇到了类似下面的这个类。。。。
你是不是感觉你快要崩溃了呢?
那么这里提供一个自动生成Model的java类
这样就没有必要整天写那个破model了,用到的时候直接生成就OK!
package cn.com.fri.plugins.setup.po; public class DataBaseInfo { private String databaseProductName; private boolean supportsTransactions; private String databaseProductVersion; private int defaultTransactionIsolation; private boolean supportsBatchUpdates; private String url; private String username; private boolean readOnly; private boolean supportsColumnAliasing; private boolean supportsLikeEscapeClause; private boolean supportsLimitedOuterJoins; private boolean supportsMultipleTransactions; private boolean supportsSubqueriesInExists; private boolean supportsSubqueriesInIns; private boolean supportsTransactionIsolationLevel; private boolean supportsUnion; private boolean supportsUnionAll; private boolean usesLocalFilePerTable; private boolean usesLocalFiles; private int databaseMajorVersion; private int databaseMinorVersion; private int JDBCMajorVersion; private int JDBCMinorVersion; private String driverName; private String driverVersion; private String extraNameCharacters; private String identifierQuoteString; private int maxCatalogNameLength; private int maxColumnNameLength; private int maxColumnsInGroupBy; private int maxColumnsInOrderBy; public int getMaxColumnsInOrderBy() { return maxColumnsInOrderBy; } public void setMaxColumnsInOrderBy(int maxColumnsInOrderBy) { this.maxColumnsInOrderBy = maxColumnsInOrderBy; } private int maxColumnsInSelect; private int maxConnections; public String getDatabaseProductName() { return databaseProductName; } public void setDatabaseProductName(String databaseProductName) { this.databaseProductName = databaseProductName; } public boolean isSupportsTransactions() { return supportsTransactions; } public void setSupportsTransactions(boolean supportsTransactions) { this.supportsTransactions = supportsTransactions; } public String getDatabaseProductVersion() { return databaseProductVersion; } public void setDatabaseProductVersion(String databaseProductVersion) { this.databaseProductVersion = databaseProductVersion; } public int getDefaultTransactionIsolation() { return defaultTransactionIsolation; } public void setDefaultTransactionIsolation(int defaultTransactionIsolation) { this.defaultTransactionIsolation = defaultTransactionIsolation; } public boolean isSupportsBatchUpdates() { return supportsBatchUpdates; } public void setSupportsBatchUpdates(boolean supportsBatchUpdates) { this.supportsBatchUpdates = supportsBatchUpdates; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; } public String getUsername() { return username; } public void setUsername(String username) { this.username = username; } public boolean isReadOnly() { return readOnly; } public void setReadOnly(boolean readOnly) { this.readOnly = readOnly; } public boolean isSupportsColumnAliasing() { return supportsColumnAliasing; } public void setSupportsColumnAliasing(boolean supportsColumnAliasing) { this.supportsColumnAliasing = supportsColumnAliasing; } public boolean isSupportsLikeEscapeClause() { return supportsLikeEscapeClause; } public void setSupportsLikeEscapeClause(boolean supportsLikeEscapeClause) { this.supportsLikeEscapeClause = supportsLikeEscapeClause; } public boolean isSupportsLimitedOuterJoins() { return supportsLimitedOuterJoins; } public void setSupportsLimitedOuterJoins(boolean supportsLimitedOuterJoins) { this.supportsLimitedOuterJoins = supportsLimitedOuterJoins; } public boolean isSupportsMultipleTransactions() { return supportsMultipleTransactions; } public void setSupportsMultipleTransactions(boolean supportsMultipleTransactions) { this.supportsMultipleTransactions = supportsMultipleTransactions; } public boolean isSupportsSubqueriesInExists() { return supportsSubqueriesInExists; } public void setSupportsSubqueriesInExists(boolean supportsSubqueriesInExists) { this.supportsSubqueriesInExists = supportsSubqueriesInExists; } public boolean isSupportsSubqueriesInIns() { return supportsSubqueriesInIns; } public void setSupportsSubqueriesInIns(boolean supportsSubqueriesInIns) { this.supportsSubqueriesInIns = supportsSubqueriesInIns; } public boolean isSupportsTransactionIsolationLevel() { return supportsTransactionIsolationLevel; } public void setSupportsTransactionIsolationLevel( boolean supportsTransactionIsolationLevel) { this.supportsTransactionIsolationLevel = supportsTransactionIsolationLevel; } public boolean isSupportsUnion() { return supportsUnion; } public void setSupportsUnion(boolean supportsUnion) { this.supportsUnion = supportsUnion; } public boolean isSupportsUnionAll() { return supportsUnionAll; } public void setSupportsUnionAll(boolean supportsUnionAll) { this.supportsUnionAll = supportsUnionAll; } public boolean isUsesLocalFilePerTable() { return usesLocalFilePerTable; } public void setUsesLocalFilePerTable(boolean usesLocalFilePerTable) { this.usesLocalFilePerTable = usesLocalFilePerTable; } public boolean isUsesLocalFiles() { return usesLocalFiles; } public void setUsesLocalFiles(boolean usesLocalFiles) { this.usesLocalFiles = usesLocalFiles; } public int getDatabaseMajorVersion() { return databaseMajorVersion; } public void setDatabaseMajorVersion(int databaseMajorVersion) { this.databaseMajorVersion = databaseMajorVersion; } public int getDatabaseMinorVersion() { return databaseMinorVersion; } public void setDatabaseMinorVersion(int databaseMinorVersion) { this.databaseMinorVersion = databaseMinorVersion; } public int getJDBCMajorVersion() { return JDBCMajorVersion; } public void setJDBCMajorVersion(int jDBCMajorVersion) { JDBCMajorVersion = jDBCMajorVersion; } public int getJDBCMinorVersion() { return JDBCMinorVersion; } public void setJDBCMinorVersion(int jDBCMinorVersion) { JDBCMinorVersion = jDBCMinorVersion; } public String getDriverName() { return driverName; } public void setDriverName(String driverName) { this.driverName = driverName; } public String getDriverVersion() { return driverVersion; } public void setDriverVersion(String driverVersion) { this.driverVersion = driverVersion; } public String getExtraNameCharacters() { return extraNameCharacters; } public void setExtraNameCharacters(String extraNameCharacters) { this.extraNameCharacters = extraNameCharacters; } public String getIdentifierQuoteString() { return identifierQuoteString; } public void setIdentifierQuoteString(String identifierQuoteString) { this.identifierQuoteString = identifierQuoteString; } public int getMaxCatalogNameLength() { return maxCatalogNameLength; } public void setMaxCatalogNameLength(int maxCatalogNameLength) { this.maxCatalogNameLength = maxCatalogNameLength; } public int getMaxColumnNameLength() { return maxColumnNameLength; } public void setMaxColumnNameLength(int maxColumnNameLength) { this.maxColumnNameLength = maxColumnNameLength; } public int getMaxColumnsInGroupBy() { return maxColumnsInGroupBy; } public void setMaxColumnsInGroupBy(int maxColumnsInGroupBy) { this.maxColumnsInGroupBy = maxColumnsInGroupBy; } public int getMaxColumnsInSelect() { return maxColumnsInSelect; } public void setMaxColumnsInSelect(int maxColumnsInSelect) { this.maxColumnsInSelect = maxColumnsInSelect; } public int getMaxConnections() { return maxConnections; } public void setMaxConnections(int maxConnections) { this.maxConnections = maxConnections; } public int getMaxCursorNameLength() { return maxCursorNameLength; } public void setMaxCursorNameLength(int maxCursorNameLength) { this.maxCursorNameLength = maxCursorNameLength; } public int getMaxStatements() { return maxStatements; } public void setMaxStatements(int maxStatements) { this.maxStatements = maxStatements; } private int maxCursorNameLength; private int maxStatements; }
你是不是感觉你快要崩溃了呢?
那么这里提供一个自动生成Model的java类
package cn.com.fri.core.utils.extjs; import java.io.IOException; import java.lang.reflect.Field; import org.codehaus.jackson.annotate.JsonIgnoreProperties; import cn.com.fri.plugins.setup.po.DataBaseInfo; /** * 根据给出的类映射出前端的ExtJS Model. * * @author <a href="mailto:ge.bugman@gmail.com">葛昊</a> * @since Spring 3.1 Hibernate 4.0 and jdk 1.7 * @version %I% %G% */ public class ReflectObject2ExtJSModel { public static String createModel(Class<?> clazz) throws IOException { String[] filters = null; // 判断该类中是否包含懒加载对象,如果包含懒加载对象,则排除在外。 if (clazz.isAnnotationPresent(JsonIgnoreProperties.class)) { filters = clazz.getAnnotation(JsonIgnoreProperties.class).value(); } Field[] fields = clazz.getDeclaredFields(); // 这里将里面的包名改成你所需的,或者改用传参的方式也是一个不错的方法! String sb = "Ext.define('SystemSetup.model." + clazz.getSimpleName() + "', {\r\n\textend: 'Ext.data.Model',\r\n\tfields:["; fieldFor: for (Field field : fields) { if (filters != null) { for (String f : filters) { if (f.equals(field.getName())) { continue fieldFor; } } } sb += "'" + field.getName() + "',"; } sb = sb.substring(0, sb.length() - 1); sb += "]\r\n});"; // 在这里可以输出为文件,也可以返回一个字符串. return sb.toString(); } public static void main(String[] args) { try { String model = ReflectObject2ExtJSModel .createModel(DataBaseInfo.class); System.out.println(model); } catch (IOException e) { e.printStackTrace(); } } }
这样就没有必要整天写那个破model了,用到的时候直接生成就OK!
发表评论
-
StringHttpMessageConverter乱码问题的解决(Spring 3.2)
2013-02-03 23:05 18903特别标注了是Spring 3.2,在网上搜了半天,很多配置应该 ... -
Ext JS 4.x任意组件放入ComboBox的下拉框。例如tree、grid等。
2012-12-29 21:10 2267移步到http://www.uniorder.com/2013 ... -
Ext JS 4.1.1整合Kindeditor
2012-11-29 20:11 5402整合Kindeditor比CKEditor要简单许多许多(CK ... -
Ext JS 4.1.1整合CKEditor。
2012-11-28 23:44 2733Ext.define('GB.view.CKeditor' ... -
SEVERE: org.apache.solr.common.SolrException: undefined field text
2012-08-21 19:32 7016原文出处:http://blog.csdn.net/posa8 ... -
Nutch 1.4 与 Eclipse 整合
2012-06-03 00:48 2980环境: 操作系统:Mac OS X Lion Nutch版本: ... -
Error setting expression 'ext-gen1500' with value
2011-08-09 18:34 3670首先查看devMode是否设置为false,否则查看你提交的表 ... -
ExtJS 4.0 的改变--较为完整的介绍。
2011-07-26 22:14 37949惯例,看之前先看看我的很久很久以前的学习笔记(就是那个Word ... -
ExtJS 4.0.2a ActionColumn的使用
2011-07-10 23:50 9355ActionColumn是有问题的(不敢说是BUG),text ... -
MyEclipse中Spring Security 3.0.3无废话配置(第二章)。
2011-06-12 17:30 5021上回说到数据库验证首先看以往的验证配置: <auth ... -
Spring security 3退出登录(非CAS控制)
2011-06-09 01:00 3226在HTTP标签中加入以下配置即可: <logout ... -
Sencha SDK Tools 1.1的安装(Mac OS)
2011-06-08 21:06 4660安装其实十分简单,双击安装程序即可实现安装,底层貌似用到了Qt ... -
MyEclipse中Spring Security 3.0.3无废话配置(第一章)。
2011-06-07 15:06 4601第一件事,下载中文说明文档,搜索一下就能找到。 第二件事,找到 ... -
ExtJS 4.0 的改变(仅发表我发现的)
2011-05-25 17:23 10283最近写了一个较为完整版(有部分细节没说)的,去看看这里吧htt ... -
ActiveMQ与Flex的结合,解决Crossdomain安全沙箱问题
2011-04-09 03:53 3183这个问题其实去年就解决了,一直放在我QQ空间里,今天复制上来。 ... -
无废话SVN配置(AppServ+SVN1.6.6)/(Apache2.2+SVN1.6.6)
2011-03-29 13:19 1902网上找了一堆配置SVN的,全有问题。 下载SVN 下载Apa ... -
CAS配置第四步:CAS登陆界面的美化
2011-03-06 16:10 6510请移步到http://www.uniorder.com/201 ... -
CAS配置第三步:客户端的配置
2011-03-06 16:01 7454紧接上一篇:CAS配置第二步:服务器端的配置 CAS Java ... -
CAS配置第二步:服务器端的配置
2011-03-06 15:37 10427紧接上一篇CAS配置第一步:准备工作 CAS Java 群3 ... -
CAS配置第一步:准备工作
2011-03-06 15:07 3205一个二流程序员,用三天四夜总结出五篇经验与大家分享! 网上有很 ...
相关推荐
只要将解压的文件直接放置到myeclipse的webroot下面,启动tomcat访问。简单的EXTJS mvc框架,设计 store,model,controller,view,window等等,同时展示了一些基本的点击显示、修改等等操作,需要的同学自行下载
学习这个官方实例,你将掌握如何组织和编写高效的ExtJS MVC应用,包括如何定义模型、创建视图组件、配置控制器、以及如何使用Store进行数据操作。这将帮助你在实际项目中更好地利用ExtJS的强大功能,开发出高性能、...
extJS4 MVC demo项目入门涉及的是前端开发领域的技术要点,主要介绍了extJS4框架中的MVC(Model-View-Controller)模式在实际开发项目中的应用方法,并着重讲述了如何实现前端资源的按需加载和动态加载。在了解这些...
MVC(Model-View-Controller)架构模式是ExtJS 4中一个核心的设计原则,它有助于实现应用的模块化和可维护性。这个“Extjs4 MVC小实例”很可能是为了展示如何在实际项目中有效地运用MVC模式。 **模型(Model)** 在...
在ExtJS中,可以创建自定义的数据模型类,用以封装数据属性和行为。 - **视图(View)**:负责展示数据和用户交互。在ExtJS中,视图通常是组件(如表格、窗口、面板等),它们通过绑定到模型或store来展示数据。 -...
extjs动态生成model、store、panel;sql拼接等多种技术难点
本文将深入探讨如何在ExtJS中使用MVC模式来构建一个简单的应用。 首先,让我们了解MVC模式的基本概念。MVC模式将应用程序分为三个主要部分: 1. Model(模型):负责处理数据和业务逻辑。在ExtJS中,模型通常与远程...
ExtJS MVC示例是基于ExtJS 4.2.0框架的一个典型应用场景,它展示了如何在Web应用中利用MVC(Model-View-Controller)设计模式进行开发。MVC模式是一种软件设计模式,用于分离应用程序的数据、用户界面和逻辑控制,以...
总结来说,这个“自己写的ExtJS4.0用MVC的示例”展示了如何利用MVC模式在客户端构建复杂的应用程序,提供了良好的代码组织和可维护性。通过研究这个示例,你可以学习到如何有效地使用模型、视图和控制器,以及它们...
在`ExtJS_MVC_Demo`这个压缩包中,可能包含了演示如何使用ExtJS 4.0.7实现MVC模式的各种示例代码。这些示例可能包括模型定义、视图组件的创建、控制器的编写以及应用的配置等。通过学习和分析这些示例,开发者可以更...
升级了,大家不要下载这个了,下载我的资源里的的(MVC+Extjs架构WebMis自动生成) 只要你配置了数据库,配置了表,配置了功能菜单,每个菜单对应一个表,就能生产一个基本的系统, 基本系统:能对你的表进行CRUD,...
本话题主要关注如何使用Java后端和ExtJS前端框架来实现单文件上传的流程。下面将详细讲解这个过程涉及的关键知识点。 首先,我们来看Java文件上传。在Java中,处理文件上传主要依赖于Servlet API中的`Part`接口,这...
ExtJS 4 MVC是一个强大的前端开发框架,它利用模型-视图-控制器(Model-View-Controller)架构模式,帮助开发者构建复杂、可维护的Web应用程序。MVC是一种设计模式,它将应用程序的不同部分分离出来,使代码更易于...
EXTJS MVC 完整 demo 是一个基于 EXTJS 框架实现的模型-视图-控制器(Model-View-Controller)架构的示例项目。EXTJS 是一款强大的前端开发框架,用于构建桌面级的富互联网应用程序(RIA)。它提供了一套完整的组件...
这个官方实例集是ExtJS 4 MVC模式的一个完整展示,旨在帮助开发者理解并掌握如何使用MVC进行开发。 **MVC模式详解:** 1. **Model(模型)**:负责处理数据和业务逻辑,通常与后台服务进行通信,获取或存储数据。在...
总结来说,"extjs java 上传文件进度条"这个主题涉及到前端与后端的交互,需要理解ExtJS组件的使用,熟悉Ajax异步上传,掌握Java服务器处理文件上传的逻辑,以及HTTP协议、JSON通信等相关知识。通过这些技术的结合,...
MVC(Model-View-Controller)模式是软件工程中一种广泛使用的架构设计,它有助于将应用程序的业务逻辑、用户界面和数据管理分离开来,提高代码的可维护性和可扩展性。 在ExtJS4.2中,MVC的实现包括以下几个核心...
在 ExtJS 4.0 中,引入了 Model-View-Controller(MVC)架构模式,这是一种设计模式,用于组织和分离应用的业务逻辑、视图展示和用户交互。本文将深入探讨 ExtJS4.0 MVC 的核心概念、结构以及如何实现一个简单的 MVC...
MVC(Model-View-Controller)模式是软件设计中的一个经典模式,它在ExtJS中被广泛应用,以实现应用程序的模块化和可维护性。这个"ExtJS MVC入门级开发案例"是一个理想的学习资源,适合初学者理解并掌握如何在ExtJS...