`
microye
  • 浏览: 21157 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
阅读更多

 

1、jroo中有不少自定义标签,如数据字典标签(select、checkbox、radio、view),权限标签,分页/排序/序号标签,国际化标签,位置标签等。

2、自定义标签篇

2.1、数据字典自定义标签 
数据字典中设置的是系统的常量数据,如性别(男:M,女:F)、审核状态(同意:Y,不同意:N)等; 
这些数据在启动服务时就加载到缓存中,在系统上线后,这些常量值一般情况不能轻易改变,不开放给客户; 
这些数据在页面中通常都表现为:下拉框、复选框、单选框或仅显示名称。

使用:

<my:select pvalue="sex" name="user.sex" value="${user.sex}"/>

<my:checkbox pvalue="sex" name="user.sex" value="${user.sex}"/>

<my:radio pvalue="sex" name="user.sex" value="${user.sex}"/>

<my:view value="${user.sex}" pvalue="sex"/>

2.1.1、下拉框

<my:select  
       pvalue="" //上级代码,如性别的代码SEX 
       value="" //当前这一级的代码,如M或F,如果有值,渲染后的select在页面上将选中该项 
       name="" //提交到action的属性名,通标准html select 的name 
       rules="" //验证规则,如当提交form时,验证是否选择了select : rules="[{notNull:true, message:'请选择请假类型'}]" 
       firstoption="---" //渲染后的select,第一个option属性的text,默认是‘请选择’ 
       nullValue="true/false" //渲染后的select,第一个option的value是否 ''; 
       styleClass="" //同标准select的class 
       id="" 
       disabled="" 
       multiple="" 
       size="" 
       style="" 
       title="" 
       ...各种js事件,同标准select的js事件 
/> 

2.1.2、复选框 
<my:checkbox  
        pvalue="" //上级代码,如性别的代码SEX 
        value="" //当前这一级的代码,如M或F或M,F,当M,F时,渲染后的checkbox在页面上,男和女这两项都是选中的 
        name="" //提交到action的属性名,通标准html checkbox 的name 
        scope ="" //数据字典项的子集,每个子集见以英文状态的逗号隔开 
        nbspnum="3" //渲染后的多个checkbox间的空格,默认是3个空格 
        splitregex="" //多个选中的值时的分隔符,默认是英文状态的逗号,如M,F。 
        checked="true/false" //当vale=""时,checked为true时默认全选,为false时默认全不选。  
        br="true/false" //显示checkbox是否分行,true时一行显示一个checkbox,false时在一行显示,默认false 
        styleClass="" //同标准select的class 
        id="" 
        disabled="" 
        multiple="" 
        size="" 
        style="" 
        title="" 
        ...各种js事件,同标准checkbox的js事件 
/> 
2.1.3、单选框 
<my:radio  
        pvalue="" //上级代码,如性别的代码SEX 
        value="" //当前这一级的代码,如M或F或M,为M时选中男,为F时选中女 
        name="" //提交到action的属性名,通标准html radio 的name 
        nbspnum="3" //渲染后的多个radio间的空格,默认是3个空格 
        br="true/false" //显示checkbox是否分行,true时一行显示一个checkbox,false时在一行显示,默认false  
        styleClass="" //同标准select的class 
        id="" 
        disabled="" 
        multiple="" 
        size="" 
        style="" 
        title="" 
       ...各种js事件,同标准radio的js事件 
/> 
2.1.4、显示名称 
<my:view  
        pvalue="" //上级代码,如性别的代码SEX 
        value="" //当前这一级的代码 ,如M是时在页面显示‘男’,为F时在页面显示‘女’ 
        nbspnum="" //checkbox有多个值时,每个checkbox间的空格格式,默认是3个 
        splitregex="" //checkbox有多个值时,每个值的分隔符,默认是中文状态的逗号 
/>  

2.1.5、数据字典截图: 
图片  

2.2、权限标签:在需要权限控制的地方,放在<my:auth/>标签中间;一般是按钮、链接或其他特殊权限数据。 
     <my:auth value="{auth}">html代码</my:auth> 
      value:权限级别,它的值是el表达式{auth},auth的值在struts2的自定义权限拦截器中设置的。 
      auth的值为:W、R、N; 
      目前是有3中权限级别: 
      管理权限:权限代码为W,管理权限是最大权限,可进行任何操作; 
      无访问限制;权限代码为N,该级别权限表示不能进入当前功能,直接返回到一个‘无访问权限’的页面; 
      查看权限:权限代码为R,拥有查看权限时,仅能查看。 
      例子,在jsp中: 
      <my:auth value="{auth}"> 
            <a href="${ctx }/system/user_input.do?id=${user.id}">编辑</a>  
            <a href="javascript:" title="deletesigle" class="deleteOne" param="ids=${user.id}">删除</a>  
       </my:auth> 
       当auth为R时,编辑、删除链接将不可见。

2.3、head标签:<my:head></my:head> 
         该标签封装了系统常用的js和css,渲染后的html页面中将自动导入这些js和对应的css 
         <my:head  
               datePicker="true/false" //是否导入日期js和css,默认为false 
                lhgdialog="true/false" //是否导入弹出框js和css,默认为false 
                tree3="true/false" //是否导入ztree v3的js和css,默认为false 
                easyui="true/false" //是否导入easyui的js和css,默认为false 
                fck="true/false" //是否导入fck编辑器的的js和css,默认为false 
                multiFile="true/false" //是否导入附件上传的的js和css,默认为false  
                tree2=""> //是否导入ztree v2的的js和css,默认为false  

         例子: 
        <!doctype html> 
        <html> 
        <my:head> 
             //其他css 
             //其他js
        </my:head> 
        <body> 
        </body> 
        </html> 

2.4、国际化标签: 
         <my:i18n zhText="" enText=""/> 
         jsp中,中文环境时显示zhText中的数据,英文环境时显示enText中的数据。

2.5、排序、分页、序号标签 
          系统采用form的方式排序和分页,即排序代码和分页代码,都要用form包起来,然后post方法提交。 
         先看一个例子吧: 
         <form action="${ctx }/system/user_list.do" method="post" id="userForm">
               <div>查询条件.......</div> 
              <table id="sorttable"> 
                        <thead class="ltablehead"> 
                                  <tr> 
                                           <th width="5%">序号</th> 
                                           <th width="10%">用户姓名 <my:order orderattr="user.userName"/></th> 
                                           <th width="10%">性别 <my:order orderattr="user.sex"/></th> 
                                           <th width="15%">部门 <my:order orderattr="user.sysDept.deptName"/></th> 
                                           <th width="15%">角色</th> 
                                           <th style="width: 15%">操作</th> 
                                  </tr> 
                        </thead> 
                       <tbody class="ltablebody"><tr>数据列表......</tr></tbody> 
                </table> 
               <div class="ltablebottom"> 
                      <div style="float: right;"> <my:page page="${page}"/></div>  
               </div> 
         </form>

2.5.1、排序标签:<my:order orderattr=""/> 
             在需要排序的列头加上该标签,属性orderattr与hibernate的hql对应,或sql的表别名.字段名对应, 
             如:在用户姓名的列头上加:<my:order orderattr="user.userName"/>, 
             渲染后的页面上将出现一个排序的箭头,点击这个箭头,用户姓名就循环升序和降序; 
              hql为:...order by user.userName desc。

2.5.2、分页标签:<my:page page="${page}" varName="page"/> 
          在列表的底部加上分页标签,属性page的值对应action中的分页数据,

2.5.3、分页页面的序号标签: 
           <my:rowNum page="${page}" rowIndex="${status.index}"/>  
           将显示每一行的序号。

组合效果,渲染后的页面效果如下:

图片

 

 

 


 

  • 大小: 71.1 KB
  • 大小: 42 KB
分享到:
评论
2 楼 microye 2013-01-03  
yongganzhe 写道
图片无法显示

已加入图片,谢谢提醒
1 楼 yongganzhe 2013-01-02  
图片无法显示

相关推荐

    springmvc+hibernate+jbpm开发OA自动化办公后台管理系统源码.zip

    项目描述 springmvc整合hibernate,jbpm实现快速开发办公系统 运行环境 jdk6+tomcat6+mysql+eclipse ...压缩包sql/jroo.sql jar包文件 链接: https://pan.baidu.com/s/1-bp9H0CZzQ6N4zBX0ATFsg 密码: rq3i

    代码.zip代码.zip代码数据分析代码.zip代码.zip代码数据分析

    代码.zip代码.zip代码数据分析

    STM32数字示波器+详细注释+上位机程序+硬件

    功能: 1、波形发生器:使用STM32一路DA实现正弦,三角波,方波,白噪声输出。 任意一种波形幅值在0-3.3V任意可调、频率在一定范围任意可调、方波占空比可调。调节选项可以通过触摸屏完成设置。 2、SD卡存储: SD卡波形存储输出,能够对当前屏幕截屏,以JPG格式存储在SD卡上。能够存储1S内的波形数据,可以随时调用查看。 3、数据传输: 用C#编写上位机,通过串口完成对下位机的控制。(1)实现STOP/RUN功能(2)输出波形电压、时间参数(3)控制截屏(4)控制波形发生器(5)控制完成FFT(6)波形的存储和显示 4、图形接口: UCGUI 2、水平扫速: 250 ns*、500ns、1μs、5 μs、10μs、50μs、500 μs、5ms 、50ms 3、垂直电压灵敏度:10mV/div, 20mV/div, 50mV/div, 0.1V/div, 0,2V/div, 0.5V/div, 1V/div, 2V/div, 5V/div 4、被测信号的各种参数屏幕显示,包括频率、电压峰峰值等。

    粗格栅及进水提升泵房计算书.xlsx

    污水处理计算书

    氧化沟工艺在污水处理中的应用.doc

    课程设计污水处理

    node-v11.10.0-linux-arm64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    JSP企业电子投票系统(源代码+设计说明书+调研报告++文献综述).zip

    JSP企业电子投票系统(源代码+设计说明书+调研报告++文献综述).zip

    node-v10.18.1-linux-s390x.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v12.22.7-linux-armv7l.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v10.22.0-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    基于matlab实现的能够计算配电网中的潮流,只需在里面填入参数即可运行 .rar

    基于matlab实现的能够计算配电网中的潮流,只需在里面填入参数即可运行。.rar

    基于matlab实现的随机粗糙表面对微气体轴承内气体压强分布的影响.rar

    基于matlab实现的随机粗糙表面对微气体轴承内气体压强分布的影响.rar

    基于使用microPython的开发单片机设计源码.zip

    我们在单片机开发中常会遇到需要将UTF-8转换为GBK编码的需求。在了解各种编码格式的情况下可知, UFT-8不能直接转成GBK,需中转成unicode再转换为gbk。而unicode和gbk之间没有算法可以直接计算,需要查表方式获取。 网上有一些C语言实现的代码,我这里分享一种microPython的实现代码 接下来就是要考虑表的存储方式了,刚开始我想着把表存到代码里直接通过索引实现编码转换。但是gb2312有七千多个字符全部存储要耗费很大内存,即使是32位的esp32也只有512k的内存,加上其他资源的消耗,剩余的内存不足以存储编码转换表。 于是只能将表保存成一个文件(转化成bin文件会比较好,方法类似),通过读写文件来减少内存开销。 具体的查表就是简单的二分法

    基于matlab实现的实现信号的frft变换

    基于matlab实现的实现信号的frft变换,傅立叶变换是将观看角度从时域转变到频域,分数阶傅立叶变换就是以观看时频面的角度去旋转时频面的坐标轴,然后再从观察频域的角度去分析信息。.rar

    node-v11.10.0-linux-ppc64le.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    杏鲍菇70m3d废水处理工程设计方案.doc

    课程设计污水处理

    node-v10.23.1-darwin-x64.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    node-v6.3.0-x64.msi

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    城市小区生活污水处理工艺设计.pptx

    课程设计污水处理

    ASP+ACCESS基于WEB车辆管理系统(源代码+设计说明书).zip

    ASP+ACCESS基于WEB车辆管理系统(源代码+设计说明书).zip

Global site tag (gtag.js) - Google Analytics