扩展了Struts2的标签,所有自定义标签都用 <s:za- 开头
操作权限标签<s:za-authoperation
菜单默认有add,search,edit,delete四个操作
在jsp页面中,在添加按钮前加上<s:za-authoperation标签,如果用户没有该操作权限,标签里面的内容不显示 ,用法:
<s:za-authoperation operation="add">
<li onclick=""><s:za-i18n field="add"/></li> //如果当前用户没有添加权限,这行不显示
</s:za-authoperation>
系统中所有属于菜单某个需要授权的操作,都需要把操作按钮放在za-authoperation标签里
国际化标签<s:za-i18n
在jsp中使用
<s:za-i18n field="add"/> //页面显示文本为添加
<s:za-i18n field="delete"/> //页面显示文本为删除
假如要显示jdo类中的某个属性的国际化值,如com.gzza.oa.jdo.dev.Student类中的name,name的Display配置如下:
@Column(name = "NAME")
@Display(query = true, zhValue = "名称", validate = Validate.NOT_NULL)
private String name;
使用类名+下划线+属性名:<s:za-i18n field="Student_name"/> //页面显示文本为名称
表格显示<s:za-datatable
//最简单用法,会解析request中Page对象,生成最后一列带有删除、修改操作、第一列是全选的表格
<s:za-datatable/>
//如果不显示第一列的全选,加上checkbox="false"
//如果不显示最后一列的操作,加上operation="false"
//如果整个表格都不需要显示,加上hidden="true"
<s:za-datatable checkbox="false" operation="false" hidden="true"/>
//<s:za-datatable可以展开,展开后,可有如下功能
//1.自定义操作列中的按钮
//2.隐藏某些列
//3.重写某些列
//4.对某些列出简单图形报表
//<s:za-datatable是一个遍历数据生成table的组件,在遍历过程中,如果想要拿到当前遍历对象的属性值,如拿id,需要使用{@id},如拿object.name,使用{@object.name}
//遍历过程中,可使用{if}{/if}{if}{else}{/else}标签
<s:za-datatable>
<!--
报表说明
name :报表标题,需要国际化,可以为空
type :报表显示类型,bar:柱图 pie:饼图 line:线图,同一报表,出多种不同图
key : <!-- 报表的说明字段 -->
value : <!-- 报表的值字段 -->
-->
<bi>
<name>studentInfo</name>
<type>bar,pie</type>
<key>name</key>
<value>score</value>
</bi>
<bi>
<name>studentInfo</name>
<type>line</type>
<key>name</key>
<value>age</value>
</bi>
//重写指定列
<reset age>
{if {@age}>18}
{if {@age}>60}
<a href="http://www.baidu.com" style="color: blue;text-decoration: underline;" target="_blank"><b>(老年人){@age}<b></a>
{/if}
{else}
<a href="http://www.baidu.com" target="_blank"><b>(年轻人){@age}<b></a>
{/else}
{/if}
{else}
{@age}
{/else}
</reset>
//重写指定列
<reset createTime>
<img src="images/i07.png"/>
</reset>
//显示指定列
<display>
<s:if test="#request.type == 1">
name,age,score,clazz.name,enabled
</s:if>
<s:else>
name,age,score,clazz.remark,createTime
</s:else>
</display>
//自定义操作列中的按钮
<operation>
<s:za-authoperation operation="delete">
<a href="javascript:void(0)" class="tablelink" onclick="defaultEditData('studentEdit.html?id={@id}', '<s:za-i18n field="edit"/>')"><s:za-i18n field="edit"/></a>
</s:za-authoperation>
</operation>
</s:za-datatable>
批量修改标签<s:za-batchedit
//如果该用户有修改权限,那个出现批量修改按钮,用户可以多选表格数据进行批量修改
//za-batchedit中的clazz指定对那个类做批量修改
<s:za-authoperation operation="edit">
<s:za-batchedit clazz="test.Student"/>
</s:za-authoperation>
快速复制一条记录来添加标签<s:za-copyadd
//如果该用户有添加权限,那个出现复制添加按钮,用户可以表格一行数据,复制该行数据内容来快速添加
//za-copyadd 中的clazz指定对那个类做复制添加
<s:za-authoperation operation="add">
<s:za-copyadd clazz="test.Student"/>
</s:za-authoperation>
全局取值标签<s:za-globalattribute
//该标签用来取全局系统中保存的值,可跨项目,跨tomcat取值,如在平台项目中调用setGlobalAttribute("name", "admin"),可在另一个跑在同tomcat的oa项目中取得该值,使用tomcat做集群中也可以使用
<s:za-globalattribute key="name"/> //jsp中显示为admin
判断是否管理员标签<s:za-isadmin
//该标签用来判断当前的登录用户是否系统管理员
<s:za-isadmin>
//如果是系统管理员,才显示这里的内容
</s:za-isadmin>
判断是否非管理员标签<s:za-notadmin
//该标签用来判断当前的登录用户是否非系统管理员
<s:za-notadmin>
//如果是非系统管理员,才显示这里的内容
</s:za-notadmin>
动态查询参数标签<s:za-queryparam
//该标签用来根据jdo实体类的Display注解动态解析生成查询条件显示
//这样就可以不需要改动jsp就可以修改查询条件
//默认用法
<s:za-queryparam clazz="test.Student"/> //clazz指定加载那个类的查询条件
如果还需要加上一些自定义的查询条件,可展标签,如
<s:za-queryparam clazz="test.Student">
<input type="type" name="xxxxxx"> //自定义的查询条件
</s:za-queryparam>
取用户保存的属性标签<s:za-userattribute
//当系统要做应用服务器集群时,我们不建议再使用session,该标签就用来替代session
在类中
在java中
1. setUserAttribute(key,value) 替代 session.setAttribute(key,value)
2. getUserAttribute(key) 替代简单对象 session.getAttribute(key)
3. getUserAttribute(key,clazz) 替代 (clazz)session.getAttribute(key)
4. removeUserAttribute(key) 替代 session.removeAttribute(key)
在jsp中
1. <s:za-userattribute key="name"/> 替代 <s:property value="#session.name">;
2. <s:za-userattribute key="object.name"/> 替代 <s:property value="#session.object.name">;
分享到:
相关推荐
在实际开发中,有时我们需要根据项目需求实现特定的功能,比如动态生成SQL或者进行复杂的业务逻辑处理,这时MyBatis的自定义标签功能就显得尤为重要。 自定义标签是MyBatis框架的一大特色,它允许我们扩展XML映射...
在Struts2中,自定义标签是提高代码可读性和可维护性的重要工具。本文将深入探讨Struts2自定义标签的实现机制、优点以及如何在实际项目中进行应用。 一、Struts2自定义标签的概念 自定义标签是JSP的一种扩展,允许...
在JavaServer Pages (JSP) 技术中,自定义标签是扩展JSP功能的关键手段,它允许开发者创建可重用的组件,提高代码的可维护性和可读性。本实例将深入探讨如何实现一个简单的JSP自定义标签。 首先,自定义标签的实现...
在ThinkPHP中,自定义标签(Tag Lib)是一种强大的特性,允许开发者扩展模板引擎的功能,使其更符合项目需求。下面将详细解释如何在ThinkPHP 3.0版本中实现自定义标签及其使用方法。 1. **自定义标签的作用** ...
一个“自定义标签”是开发者为了扩展JSP(JavaServer Pages)功能而创建的,它允许我们封装复杂逻辑并将其作为可重用的组件。本项目提供了一个用于分页的自定义标签,适用于那些需要在网页上进行数据分页展示的应用...
本篇文章将详细阐述如何在CKEditor 4.0中进行自定义标签操作,并提供经过修改的编辑器JAR包供下载。 CKEditor 4.0是一款开源的JavaScript富文本编辑器,它支持多种浏览器环境,提供丰富的功能和高度可定制性。...
在Java Server Pages (JSP) 2.0版本中,自定义标签和自定义标签函数极大地扩展了JSP开发的灵活性和可重用性。这些特性允许开发者创建可复用的组件,使代码更加清晰,易于维护。本文将深入探讨JSP 2.0中的自定义标签...
在Spring框架中,自定义标签是一项非常实用的功能,它允许我们创建符合XML语法的自定义元素,以便在配置文件中更方便地表达业务逻辑。在"spring自定义标签例子"这个项目中,我们可以深入理解这一特性,特别是通过...
本案例通过JavaScript来实现自定义标签的功能。具体而言,它通过遍历文档中的内容,将自定义的标签转换为标准的HTML标签,并应用相应的样式。下面我们将详细介绍其实现细节。 #### 自定义标签代码解析 ```...
在JavaServer Pages (JSP) 技术中,自定义标签是提高代码可重用性和模块化的重要手段。自定义标签允许开发者创建自己的组件,这些组件可以像HTML标签一样在页面上使用,使得代码更加清晰易读。本教程将深入探讨JSP...
在 Struts 中,自定义标签是提供一种灵活的方式,使得视图层(通常为 JSP 页面)能够更好地与业务逻辑交互,从而提高代码的可读性和可维护性。本文将深入探讨如何在 Struts 中实现自定义标签。 一、自定义标签概述 ...
在JSP(JavaServer Pages)开发中,自定义标签是一种扩展JSP功能的强大工具,它允许开发者创建可重用的代码组件,以提高代码的可读性和可维护性。本篇学习笔记将深入探讨JSP自定义标签的相关概念、创建方法以及实际...
首先,创建自定义标签的目的是为了增加语义化,使网页内容更易于机器理解,同时提高人类阅读的清晰度。例如,可以定义`<article>`、`<sidebar>`等标签来明确内容区块的类型。自定义标签遵循驼峰式命名规则,如`...
在Java Web开发中,自定义标签(Custom Tags)是一个强大的工具,它允许开发者创建可重用的组件,提高代码的可读性和维护性。自定义标签是JSP标准标签库(JSTL)的一种扩展,它能将复杂的业务逻辑封装起来,使JSP...
Java自定义标签是JavaServer Pages (JSP)技术的一个强大特性,它允许开发者扩展JSP的标准标签库,创建自己的定制化标签,以提高代码的可读性和可维护性。自定义标签可以封装复杂的业务逻辑或者视图呈现,使得页面...
JSP(JavaServer Pages)自定义标签是JSP技术中一个重要的特性,允许开发者创建可重用的、自定义的组件,从而提高代码的可读性和可维护性。本文将深入讲解JSP自定义标签的相关概念、格式、处理过程以及创建和使用...
使用jsp自定义标签的功能实现权限的控制。(如果用户没有某个模块的删除权限,就不现实这个删除按钮) 在整个项目中所有的页面都可以引入自定义的标签去做到权限的控制。 自定义标签文件 删除 可以控制页面中的每...
在这个"Freemarker自定义标签简单案例"中,我们将深入探讨如何利用Freemarker进行模板设计,并结合自定义标签来增强模板的功能。 首先,让我们理解Freemarker的基础知识。Freemarker是一个与语言无关的模板引擎,它...
JSP自定义标签是用户定义的JSP语言元素,可以看成是一种通过标签处理器生成基于XML脚本的方法。自定义标签在功能上和逻辑上都与JavaBean类似,都是一组可重用的组件代码。相较于JavaBean,自定义标签可以使Web开发者...