- 浏览: 116702 次
- 来自: 北京
文章分类
最新评论
-
hww_1030:
spring+springmvc+ibatis整合注解方式实例 -
jackclchan:
你好,能将demo源码发我下吗?jackclchan@qq.c ...
spring+springmvc+ibatis整合注解方式实例 -
amwiqplhui:
你好,能将demo源码发我下吗?772851689@qq.co ...
spring+springmvc+ibatis整合注解方式实例 -
jiangshenyi:
你好,上面的demo 能发我一份了 deshanjiang8 ...
spring+springmvc+ibatis整合注解方式实例 -
springmvc-freemarker:
spring mvc demo教程源代码下载,地址:http: ...
spring+springmvc+ibatis整合注解方式实例
最近在做一个公司的框架,采用extjs+dwr,由于考虑到extjs的学习曲线,希望开发人员即便不会也能使用,于是我就打算用jsp自定义标签来实现。我觉得凡是用ext框架的公司都会用标签或者其他方式生成一些ext代码,否则多麻烦啊。
由于刚开始接触extjs,所以很多用法都在探索中。有不妥的地方请指正
效果图:
看看,jsp多简洁,开发人员用起来会很舒服
- <stk-ui:panel width="400" title="测试">
- <form action="/login.jsp" id="testForm1">
- 姓名:<stk-ui:textField id="t1"/><br>
- <stk-ui:formButton text="提交" btnType="submit" formId="testForm1"/>
- </form>
- </stk-ui:panel>
<stk-ui:panel width="400" title="测试"> <form action="/login.jsp" id="testForm1"> 姓名:<stk-ui:textField id="t1"/><br> <stk-ui:formButton text="提交" btnType="submit" formId="testForm1"/> </form> </stk-ui:panel>
panel.ftl
- <div id="${parameters.id}Div">
- <div id="${parameters.id}El" class="x-hidden" align="center">
- <script type="text/javascript">
- Ext.onReady(function()
- {
- new Ext.Panel({
- <#if parameters.frame?exists>
- frame:${parameters.frame},
- </#if>
- <#if parameters.title?exists>
- title:'${parameters.title}',
- </#if>
- <#if parameters.bodyStyle?exists>
- bodyStyle:'${parameters.bodyStyle}',
- </#if>
- <#if parameters.autoLoad?exists>
- autoLoad:'${parameters.autoLoad}',
- </#if>
- <#if parameters.autoScroll?exists>
- autoScroll:${parameters.autoScroll},
- </#if>
- <#if parameters.collapsible?exists>
- collapsible:'${parameters.collapsible}',
- </#if>
- <#if parameters.height?exists>
- height:${parameters.height},
- </#if>
- <#if parameters.x?exists>
- x:${parameters.x},
- </#if>
- <#if parameters.y?exists>
- y:${parameters.y},
- </#if>
- width: '${parameters.width}',
- defaults: {width: (${parameters.width}-30)},
- renderTo:'${parameters.id}Div',
- id:'${parameters.id}',
- items: new Ext.Container({
- el:'${parameters.id}El'
- })
- });
- $("#${parameters.id}El").removeClass("x-hidden");
- });
- </script>
<div id="${parameters.id}Div"> <div id="${parameters.id}El" class="x-hidden" align="center"> <script type="text/javascript"> Ext.onReady(function() { new Ext.Panel({ <#if parameters.frame?exists> frame:${parameters.frame}, </#if> <#if parameters.title?exists> title:'${parameters.title}', </#if> <#if parameters.bodyStyle?exists> bodyStyle:'${parameters.bodyStyle}', </#if> <#if parameters.autoLoad?exists> autoLoad:'${parameters.autoLoad}', </#if> <#if parameters.autoScroll?exists> autoScroll:${parameters.autoScroll}, </#if> <#if parameters.collapsible?exists> collapsible:'${parameters.collapsible}', </#if> <#if parameters.height?exists> height:${parameters.height}, </#if> <#if parameters.x?exists> x:${parameters.x}, </#if> <#if parameters.y?exists> y:${parameters.y}, </#if> width: '${parameters.width}', defaults: {width: (${parameters.width}-30)}, renderTo:'${parameters.id}Div', id:'${parameters.id}', items: new Ext.Container({ el:'${parameters.id}El' }) }); $("#${parameters.id}El").removeClass("x-hidden"); }); </script>
button.ftl 和 textField.ftl省略,标签类也省略
tr
生成的代码:
- <div id="5068fb04-a387-4091-9c70-9810fe47ee6aDiv">
- <div id="5068fb04-a387-4091-9c70-9810fe47ee6aEl" class="x-hidden" align="center">
- <script type="text/javascript">
- Ext.onReady(function()
- {
- new Ext.Panel({
- frame:true,
- title:'测试',
- autoScroll:true,
- width: '400',
- defaults: {width: (400-30)},
- renderTo:'5068fb04-a387-4091-9c70-9810fe47ee6aDiv',
- id:'5068fb04-a387-4091-9c70-9810fe47ee6a',
- items: new Ext.Container({
- el:'5068fb04-a387-4091-9c70-9810fe47ee6aEl'
- })
- });
- $("#5068fb04-a387-4091-9c70-9810fe47ee6aEl").removeClass("x-hidden");
- });
- </script>
- <form action="/login.jsp" id="testForm1">
- 姓名:<span id="t1TextSpan"></span>
- <script type="text/javascript">
- Ext.onReady(function()
- {
- Ext.QuickTips.init();
- new Ext.form.TextField
- ({
- renderTo:'t1TextSpan',
- id:'t1'
- });
- });
- </script>
- <br>
- <span id="9c9e1b2f-7544-4210-a71e-af4336a7f580BtnSpan" style="width:1px;"></span>
- <script type="text/javascript">
- Ext.onReady(function()
- {
- new Ext.Button({
- type:'submit',
- handler:function(){document.getElementById('testForm1').submit();},
- text:'提交',
- id:'9c9e1b2f-7544-4210-a71e-af4336a7f580',
- renderTo:'9c9e1b2f-7544-4210-a71e-af4336a7f580BtnSpan'
- });
- });
- </script>
- </form>
- </div>
- </div>
<div id="5068fb04-a387-4091-9c70-9810fe47ee6aDiv"> <div id="5068fb04-a387-4091-9c70-9810fe47ee6aEl" class="x-hidden" align="center"> <script type="text/javascript"> Ext.onReady(function() { new Ext.Panel({ frame:true, title:'测试', autoScroll:true, width: '400', defaults: {width: (400-30)}, renderTo:'5068fb04-a387-4091-9c70-9810fe47ee6aDiv', id:'5068fb04-a387-4091-9c70-9810fe47ee6a', items: new Ext.Container({ el:'5068fb04-a387-4091-9c70-9810fe47ee6aEl' }) }); $("#5068fb04-a387-4091-9c70-9810fe47ee6aEl").removeClass("x-hidden"); }); </script> <form action="/login.jsp" id="testForm1"> 姓名:<span id="t1TextSpan"></span> <script type="text/javascript"> Ext.onReady(function() { Ext.QuickTips.init(); new Ext.form.TextField ({ renderTo:'t1TextSpan', id:'t1' }); }); </script> <br> <span id="9c9e1b2f-7544-4210-a71e-af4336a7f580BtnSpan" style="width:1px;"></span> <script type="text/javascript"> Ext.onReady(function() { new Ext.Button({ type:'submit', handler:function(){document.getElementById('testForm1').submit();}, text:'提交', id:'9c9e1b2f-7544-4210-a71e-af4336a7f580', renderTo:'9c9e1b2f-7544-4210-a71e-af4336a7f580BtnSpan' }); }); </script> </form> </div> </div>
目前已经完成的标签大概有6个,确实遇到不少困难,比如button单独使用会自动换行等问题。唉,不容易啊
这个例子估计相对简单,导致大家有点误解,来看看经过一段时间努力,完成的ajaxGrid的标签:
效果图:
jsp代码,就这么简单。该分页是取部分数据分页而不是全取。合计是全部数据合计。并且扩展了排序功能,能组合排序。还有一点功能需要完善,相信会很好用。
- <stk-ui:table id="sqlTable" actionName="TestSql" pageSize="8" width="780" height="370" title="Sql例子+双击事件+合计" needDetail="true" needCollect="true">
- <stk-ui:column property="OpTime" title="操作时间" pattern="yyyy-MM-dd hh:mm:ss"/>
- <stk-ui:column property="UserCode" title="操作员" key="userinfo" pattern="code|name" parser="translate"/>
- <stk-ui:column property="OpClass" title="操作类型" parser="dict" key="1086"/>
- <stk-ui:column property="id" title="金额" collectMethod="SUM,AVG" parser="number" align="right"/>
- <stk-ui:column property="OpContent" title="操作内容"/>
- <stk-ui:column property="IpAddr" title="IP地址" cssStyle="color:red"/>
- <stk-ui:column property="FirstLevel" title="一级菜单" parser="translate" key="menu"/>
- <stk-ui:column property="SecondLevel" title="二级菜单" parser="translate" key="menu"/>
- <stk-ui:column property="Memo" title="备注" maxWords="20" needHint="true"/>
- </stk-ui:table>
<stk-ui:table id="sqlTable" actionName="TestSql" pageSize="8" width="780" height="370" title="Sql例子+双击事件+合计" needDetail="true" needCollect="true"> <stk-ui:column property="OpTime" title="操作时间" pattern="yyyy-MM-dd hh:mm:ss"/> <stk-ui:column property="UserCode" title="操作员" key="userinfo" pattern="code|name" parser="translate"/> <stk-ui:column property="OpClass" title="操作类型" parser="dict" key="1086"/> <stk-ui:column property="id" title="金额" collectMethod="SUM,AVG" parser="number" align="right"/> <stk-ui:column property="OpContent" title="操作内容"/> <stk-ui:column property="IpAddr" title="IP地址" cssStyle="color:red"/> <stk-ui:column property="FirstLevel" title="一级菜单" parser="translate" key="menu"/> <stk-ui:column property="SecondLevel" title="二级菜单" parser="translate" key="menu"/> <stk-ui:column property="Memo" title="备注" maxWords="20" needHint="true"/> </stk-ui:table>
其中Action现在可以对应一个类返回Query对象,也可以做成一个xml配置方式。反正还在完善中!
发表评论
-
网页的常用属性,便于以后编写网页查询
2011-02-11 18:01 1003这里收藏一些编写网页的常用属性,便于以后编写网页查询。&quo ... -
javascript经典代码
2011-01-28 17:07 8551. oncontextmenu="window ... -
Ext 常用控件属性列表
2011-01-25 11:33 1135Ext 常用控件属性列表 Ext 常用控件属性列 ... -
extJs grid的常见问题:
2011-01-22 12:54 1616grid的常见问题: 1, grid数据为空.2, ... -
ext 控件属性
2011-01-21 14:33 1221Ext.Action action实现一个脱离了容 器的事件 ... -
第 9 章 沉寂吧!我们要自己的控件
2011-01-21 10:02 1015第 9 章 沉寂吧!我们要自己的控件 Script 2008 ... -
第 8 章 哭泣吧!现在才开始讲基础问题。
2011-01-21 10:01 8578.1. Ext.get ... -
第 7 章 低鸣吧!拖拽就像呼吸一样容易。
2011-01-21 10:00 9467.1. 如此拖拽,简直就像与生俱来的本能一 ... -
第 6 章 奔腾吧!让不同的浏览器里显示一样的布局。
2011-01-21 09:59 9156.1. 有了它,我们就可以摆脱那些自称ui ... -
第 5 章 雀跃吧!超脱了一切的弹出窗口。
2011-01-21 09:59 9025.1. 呵呵~跳出来和缩回去总给人惊艳的感 ... -
第 4 章把表单和输入控件都改成ext的样式。
2011-01-21 09:58 10844.1. 不用ext的form啊,不怕错过有 ... -
第 3 章 歌颂吧!只为了树也要学ext。
2011-01-21 09:57 11353.1. 真的,我是 ... -
第 2 章 震撼吧!让你知道ext表格控件的厉害。
2011-01-21 09:57 14402.1. 功能丰富,无人能出其右 ... -
第 1 章 闪烁吧!看看extjs那些美丽的例子。
2011-01-21 09:56 992.1. 一切从extjs发布包开 ... -
ext-grid常见问题 FAQ: Grid
2011-01-19 11:24 1186grid的常见问题: 1, gri ... -
最强学习笔记---GridPanel(基础篇)
2011-01-19 11:19 953我不想教各位新手什么 ...
相关推荐
extjs-tag-cloud 功劳归于人们@ 我刚刚修改了构造函数接受存储为标签数组。 用法 只需将以下内容添加到您的构造函数树中: { xtype : 'tagcloud' , store : [ 'education' , 'financial' , 'computer' , '...
此问题涉及到的是一个基于Jetty服务器的ExtJS应用,在尝试启动时遇到了`JasperException`,这通常与JSP(Java Server Pages)的编译和解析有关。下面将详细解释这个问题及其解决方案。 首先,`JasperException`是...
ExtJs是一款广泛应用于Web前端开发的JavaScript库,它提供了丰富的组件和功能,使得开发者能够构建交互性强、用户体验优秀的Web应用程序。在本主题中,我们关注的是ExtJs3.4版本中的一个扩展——Tags控件。这个控件...
通过阅读`TagCloudComponent.js`源码,我们可以深入了解ExtJS组件的开发模式,学习如何利用JavaScript和CSS来实现动态的可视化元素。同时,这也有助于提升对数据驱动视图、用户交互处理和Web动画原理的理解。对于想...
标题“ExtJS Oracle分页---Json转换”涉及的是在Web应用程序开发中,使用ExtJS框架与Oracle数据库进行分页数据交互,并通过Json格式进行数据转换的技术。以下是对这个主题的详细解释: ExtJS是一个强大的JavaScript...
EXTTLD(EXTJS Tag Library Descriptors)则是EXTJS扩展标记的元数据,它定义了这些自定义标签的行为和属性。 以下是对EXTJS扩展标记中涉及的一些主要知识点的详细解释: 1. **EXTJS组件**:EXTJS的核心是它的组件...
ExtJS和ExtTLD是两个在JavaScript开发领域中与构建用户界面相关的技术。本文将深入探讨这两个概念,以及如何利用它们来创建具有树形结构的框架。 **ExtJS** ExtJS是一个开源的JavaScript库,主要用于构建富客户端...
Ext3_API.rar则是EXTJS 3.04的中文API文档,是学习和开发的重要参考资料。 通过这些资源,开发者不仅可以了解EXTJS的基本用法,还能掌握其高级特性,从而高效地构建高性能的Web应用。在实践中,不断探索EXTJS的潜力...
根据提供的文件信息,本文将详细解释ExtJs 4.2中Window组件的一些常用配置属性以及方法,帮助读者更好地理解和使用这些功能。 ### ExtJs 4.2 Window 组件概述 ExtJs 是一个基于 JavaScript 的开源框架,用于创建...
除了基本的渲染和数据获取外,ExtJs还提供了丰富的配置选项来定制表格的行为和外观。 - `autoHeight`: 自动调整高度以适应内容。 - `autoWidth`: 自动调整宽度以适应内容。 - `autoShow`: 是否自动显示组件。 - `...
- **ExtJs**是一款基于JavaScript的企业级富客户端应用开发框架,它提供了一系列丰富的UI组件和功能强大的工具,使得开发者能够轻松地创建出高质量的Web应用程序。根据标题和描述中提到的核心思想,我们可以将ExtJs...
- **环境搭建**包括下载最新版本的Extjs、配置开发环境以及安装必要的开发工具。 ##### 1. 下载 - 可以从Extjs官网或其他可信源下载最新版本的Extjs。 - 建议下载完整的开发包,包含文档、源码和示例。 ##### 2. ...
EXTJS是一种基于JavaScript的前端框架,它主要用于构建交互式的、数据驱动的Web应用程序。EXTJS提供了丰富的组件库,包括表格、表单、...开发这样的系统需要掌握前端和后端的多种技术,并能有效地协调前后端数据交互。
【标题】"java-Struts-Hibernate-lib.zip_extjs4" 涉及的是一个Java Web开发中的集成框架,其中包括了Struts、Hibernate和Spring这三个核心组件,以及ExtJS4前端框架,配合Jbpm4流程引擎和Oracle10g数据库的实践项目...
【EXTJS例子教程】深入解析EXTJS开发与应用 EXTJS是一种基于JavaScript的富互联网应用(RIA)框架,它提供了一套完整的组件化UI解决方案,能够构建出具有桌面应用程序特性的交互式Web应用。EXTJS的例子教程旨在帮助...
ExtJS是一个广泛使用的JavaScript库,特别适用于构建富客户端应用程序。3.0版本是该库的一个重要里程碑,提供了许多功能和改进。这篇文档将详细介绍ExtJS 3.0的中文API,帮助开发者更好地理解和使用这个框架。 一、...
EXTJS4是一款强大的JavaScript框架,主要用于构建富客户端的Web应用程序。在EXTJS4中,实现导出数据到Excel的功能是一项常见的需求,这可以帮助用户方便地处理和存储大量数据。本示例将详细介绍EXTJS4如何实现Excel...
ExtJS API文档是针对Ext JS 3.2版本的一份详细技术资料,它包含了这个JavaScript框架的所有核心组件、类库和功能的详细说明。Ext JS是一个用于构建富客户端Web应用的开源JavaScript库,以其强大的组件模型和丰富的...
ExtJS 是一个强大的JavaScript库,专门用于构建富客户端应用程序,特别是Web应用的用户界面。它提供了丰富的组件模型、数据绑定机制以及完善的事件处理系统,使得开发者可以构建出功能强大、交互性极强的Web应用。在...
在使用ExtJS进行界面开发的过程中,常常会遇到需要在文本框后面附加单位的情况。例如,在输入数量时需要显示“个”、“人”等单位。这样的设计不仅提高了用户体验,还使得数据的含义更加清晰明确。然而,默认情况下...