- 浏览: 290597 次
- 性别:
- 来自: 扬州
文章分类
最新评论
-
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 18807特别标注了是Spring 3.2,在网上搜了半天,很多配置应该 ... -
Ext JS 4.x任意组件放入ComboBox的下拉框。例如tree、grid等。
2012-12-29 21:10 2213移步到http://www.uniorder.com/2013 ... -
Ext JS 4.1.1整合Kindeditor
2012-11-29 20:11 5292整合Kindeditor比CKEditor要简单许多许多(CK ... -
Ext JS 4.1.1整合CKEditor。
2012-11-28 23:44 2677Ext.define('GB.view.CKeditor' ... -
SEVERE: org.apache.solr.common.SolrException: undefined field text
2012-08-21 19:32 6955原文出处:http://blog.csdn.net/posa8 ... -
Nutch 1.4 与 Eclipse 整合
2012-06-03 00:48 2924环境: 操作系统:Mac OS X Lion Nutch版本: ... -
Error setting expression 'ext-gen1500' with value
2011-08-09 18:34 3609首先查看devMode是否设置为false,否则查看你提交的表 ... -
ExtJS 4.0 的改变--较为完整的介绍。
2011-07-26 22:14 37830惯例,看之前先看看我的很久很久以前的学习笔记(就是那个Word ... -
ExtJS 4.0.2a ActionColumn的使用
2011-07-10 23:50 9296ActionColumn是有问题的(不敢说是BUG),text ... -
MyEclipse中Spring Security 3.0.3无废话配置(第二章)。
2011-06-12 17:30 4967上回说到数据库验证首先看以往的验证配置: <auth ... -
Spring security 3退出登录(非CAS控制)
2011-06-09 01:00 3178在HTTP标签中加入以下配置即可: <logout ... -
Sencha SDK Tools 1.1的安装(Mac OS)
2011-06-08 21:06 4619安装其实十分简单,双击安装程序即可实现安装,底层貌似用到了Qt ... -
MyEclipse中Spring Security 3.0.3无废话配置(第一章)。
2011-06-07 15:06 4564第一件事,下载中文说明文档,搜索一下就能找到。 第二件事,找到 ... -
ExtJS 4.0 的改变(仅发表我发现的)
2011-05-25 17:23 10231最近写了一个较为完整版(有部分细节没说)的,去看看这里吧htt ... -
ActiveMQ与Flex的结合,解决Crossdomain安全沙箱问题
2011-04-09 03:53 3146这个问题其实去年就解决了,一直放在我QQ空间里,今天复制上来。 ... -
无废话SVN配置(AppServ+SVN1.6.6)/(Apache2.2+SVN1.6.6)
2011-03-29 13:19 1863网上找了一堆配置SVN的,全有问题。 下载SVN 下载Apa ... -
CAS配置第四步:CAS登陆界面的美化
2011-03-06 16:10 6424请移步到http://www.uniorder.com/201 ... -
CAS配置第三步:客户端的配置
2011-03-06 16:01 7411紧接上一篇:CAS配置第二步:服务器端的配置 CAS Java ... -
CAS配置第二步:服务器端的配置
2011-03-06 15:37 10380紧接上一篇CAS配置第一步:准备工作 CAS Java 群3 ... -
CAS配置第一步:准备工作
2011-03-06 15:07 3154一个二流程序员,用三天四夜总结出五篇经验与大家分享! 网上有很 ...
相关推荐
只要将解压的文件直接放置到myeclipse的webroot下面,启动tomcat访问。简单的EXTJS mvc框架,设计 store,model,controller,view,window等等,同时展示了一些基本的点击显示、修改等等操作,需要的同学自行下载
Extjs4 MVC小实例根据The MVC Application Architecture做的
extjs动态生成model、store、panel;sql拼接等多种技术难点
Java+Extjs实现单文件上传
升级了,大家不要下载这个了,下载我的资源里的的(MVC+Extjs架构WebMis自动生成) 只要你配置了数据库,配置了表,配置了功能菜单,每个菜单对应一个表,就能生产一个基本的系统, 基本系统:能对你的表进行CRUD,...
本工程采用ExtJs4.0 开发,采用mvc开发模式,分为controller view model store。
extjs的官方api中的例子
MVC with ExtJS 4 prictiacal Ext JS 上的关于MVC的例子
ExtJs 4 用了一段时间了,今天研究了下ExtJs4的MVC机制,感觉还挺好,建议大家尝试,所以就写了一个demo,帮助那些对ExtJs还不是很懂,或者想用ExtJs4却又不知道怎么做好的朋友。。。多余话不说了大家如果有什么不...
是用extjs mvc写的,controller里面会配置model store view,然后mode和store的关系,相信大家也很清楚了,store里面会用到model,当然也可以不用,和原来的extjs3.x是一样的,用field来表示,其实是换汤不换药而已...
配合extjs4.2.0的MVC开发模式教程使用更好
去除extjs4.2MVC中的Model层和Store层,使用工厂模式来创建Model层和Store层简化代码。
严格按照MVC架构分的曾,可以运行的extJs4.2MVC示例,在myclipse加到一个项目里的的webroot文件夹下,运行index.html即可
ExtJS4.0.7的MVC模式。 欢迎大家下载。
ExtJS4.0MVC学习,适合初学者。
extjs界面生成器extjs界面生成器extjs界面生成器extjs界面生成器extjs界面生成器
通过java生成Extjs表格,并在java里写事件,js通过动态输出的事件,做出相应。 参考方法:前台(columns : me.renderColumns(columns),//绑定列头),后台(/query/componentColumnAction_queryColumns.action)。
最新版本,ExtJS6 MVC 精简示例!!!,一个可以参考的小例子!
本例采用ASP.NET MVC3 +EXTJS4 MVC 框架,完美实现了EXTJS4动态加载JS文件,对ASP.NET MVC3及EXTJS4 MVC 各应用要点进行了应用。对于想采用ASP.NET MVC3 +EXTJS4 MVC 框架的学习者有很好的帮助,快速掌握MVC框架,本...