- 浏览: 68177 次
- 性别:
- 来自: 绍兴
最新评论
今天在项目框架中合入的自定义的防重标签,主要分为以下几步
1.定义标签类 需要继承TagSupport 重写doEndTag方法
这边需要注意的是pageContext.getOut().write()就是在页面输出html语言,其实我只是在页面放了个隐藏域,把随机生成数做为值而已
public class TokenTag extends TagSupport
{
private PageContext pageContext;
private String columnName;
/**
* 执行操作
* @return 页面处理状态
* @throws JspException 异常抛出
*
*/
@Override
public int doEndTag() throws JspException
{
try
{
String tokenId = StringTools.getUUID();
tokenId = tokenId + "_" + columnName;
this.pageContext.getOut().write("<input type='hidden' value='"
+ tokenId + "' name='tokenId'/>");
pageContext.getSession().setAttribute("tokenId", tokenId);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return TagSupport.EVAL_PAGE;
}
/**
*设置页面上下文
* @param pageContext 页面上下文
*/
@Override
public void setPageContext(PageContext pageContext)
{
this.pageContext = pageContext;
}
public void setColumnName(String columnName)
{
this.columnName = columnName;
}
}
2.创建标签库xml 注册标签统一放在taglib下面用tag标签定义 可以定义多个
如果你需要在标签加载时默认有东西,可以将html放入body-content内
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1">
<description>
Portal 标签库
</description>
<jsp-version>2.1</jsp-version>
<tlib-version>1.0</tlib-version>
<short-name>portal</short-name>
<tag>
<name>token</name>
<tag-class>com.huawei.devportal.core.tag.TokenTag</tag-class>
<body-content>empty</body-content>
<description>防重标签</description>
<attribute>
<name>columnName</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>
3.在web.xml中配置标签库加载 这边需要注意的是<taglib-uri>biaoqian
<taglib>
<taglib-uri>/portal-tags</taglib-uri>
<taglib-location>/WEB-INF/tld/portal.tld</taglib-location>
</taglib>
4.页面调用
<%@ taglib prefix="portal" uri="/portal-tags"%>
<portal:token columnName="addResourceAdingColumn"/>
5.后台判断
略...
1.定义标签类 需要继承TagSupport 重写doEndTag方法
这边需要注意的是pageContext.getOut().write()就是在页面输出html语言,其实我只是在页面放了个隐藏域,把随机生成数做为值而已
public class TokenTag extends TagSupport
{
private PageContext pageContext;
private String columnName;
/**
* 执行操作
* @return 页面处理状态
* @throws JspException 异常抛出
*
*/
@Override
public int doEndTag() throws JspException
{
try
{
String tokenId = StringTools.getUUID();
tokenId = tokenId + "_" + columnName;
this.pageContext.getOut().write("<input type='hidden' value='"
+ tokenId + "' name='tokenId'/>");
pageContext.getSession().setAttribute("tokenId", tokenId);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
return TagSupport.EVAL_PAGE;
}
/**
*设置页面上下文
* @param pageContext 页面上下文
*/
@Override
public void setPageContext(PageContext pageContext)
{
this.pageContext = pageContext;
}
public void setColumnName(String columnName)
{
this.columnName = columnName;
}
}
2.创建标签库xml 注册标签统一放在taglib下面用tag标签定义 可以定义多个
如果你需要在标签加载时默认有东西,可以将html放入body-content内
<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1">
<description>
Portal 标签库
</description>
<jsp-version>2.1</jsp-version>
<tlib-version>1.0</tlib-version>
<short-name>portal</short-name>
<tag>
<name>token</name>
<tag-class>com.huawei.devportal.core.tag.TokenTag</tag-class>
<body-content>empty</body-content>
<description>防重标签</description>
<attribute>
<name>columnName</name>
<required>false</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
</taglib>
3.在web.xml中配置标签库加载 这边需要注意的是<taglib-uri>biaoqian
<taglib>
<taglib-uri>/portal-tags</taglib-uri>
<taglib-location>/WEB-INF/tld/portal.tld</taglib-location>
</taglib>
4.页面调用
<%@ taglib prefix="portal" uri="/portal-tags"%>
<portal:token columnName="addResourceAdingColumn"/>
5.后台判断
略...
发表评论
-
Web开发学习13聊聊java反射
2016-07-12 18:41 734很喜欢一本叫《走出软件作坊》的书,其中有一句话让我较为深刻,“ ... -
Web开发学习12 浅谈设计模式
2016-07-01 13:33 1291在我刚接触 ... -
Web开发学习11 全局缓存控制
2015-10-12 14:27 713缓存用的好可以减少数据库的压力,在大并发的情况下极大的提升服务 ... -
Web开发学习10 hadoop实战
2015-10-09 14:02 711前一篇说到项目记录了很多埋点日志,当有一天项目需求需要对这些日 ... -
Web开发学习(9)全局埋点
2015-07-27 11:10 1976埋点的作用是把客户端每次访问服务端的操作记录下来,包括请求连接 ... -
Web开发学习8Struts2基类封装
2015-07-24 12:03 676一个好的基类可以帮助开发者减少很多开发工作,像我这种爱偷懒的人 ... -
Web开发学习7按钮级别权限控制
2015-07-23 16:21 13266这个功能的思路是自己原创的,没看过其他例子,其实是在做之前网上 ... -
Web开发学习6添加liqiubase
2015-07-22 14:29 1418开发过程中经常碰到数据库更改的情况,在日常环境下如果每位开发人 ... -
浅列JavaEnum
2014-01-05 16:42 757enum Province{ ZHEJIANG,SHANGHA ... -
maven常用命令
2013-07-08 10:20 7601、创建普通Java项目: ... -
canvas绘制科赫雪花
2012-12-20 17:24 2119<html> <head> ... -
html5 audio与video方法属性事件概括
2012-12-20 14:46 1072play() 继续播放 pause() ... -
spring 整合mina
2012-12-20 11:48 1084首先定义自定义过滤器 <bean id=" ... -
Web开发学习(5)添加springsecurity应用
2011-12-14 15:00 929我学习公司这个架构多半就是为了把springsecurity搞 ... -
Web开发学习(4)添加spring应用
2011-12-14 14:45 771印象中似乎没做过不用spring的项目,因为它在web开发中的 ... -
Web开发学习(3)配置struts-tiles插件(附带json插件)
2011-12-05 15:22 2527struts的tiles插件是非常实用的,从某些方面可以很好的 ... -
使用线程删除导出临时文件
2011-12-01 16:33 2228项目支持大数据量导出e ... -
jQuery实现表格行点击选中复选框
2011-11-23 12:36 5959这个需求是在项目完成后客户提出的要求,看似简单但是还需要一点小 ... -
Web开发学习(2)配置convention插件
2011-11-04 10:28 1356注解的方式某些程度上能减少xml的配置量,个人感觉使程序更加清 ... -
Web开发学习(1)使用eclipse搭建maven项目
2011-10-20 10:04 5706首先用eclipse创建工程 ne ...
相关推荐
通过struts2 自定义标签实例,可以用这个对项目中的实现自定义标签。从而减少代码。
Struts2中实现自定义标签很简单,主要分为3步: 1.创建taglib文件(.tld),编写标签声明。 2.编写自定义标签类。 3.在页面中使用标签。 下面以一个自定义的分页标签为例,进行说明。 其实,开发自定义标签并不...
Struts2自定义标签,附带配置文件及后台代码,从工作当中整理
struts实现自定义标签
Struts2自定义分页标签很详细了,新手可以少走弯路,节约时间 资源包括了后台如何操作。
struts2自定义标签struts2自定义标签struts2自定义标签struts2自定义标签
tag struts2 自定义标签 实例 tag struts2的自定义标签实例
基于struts2的自定义分页标签实现的一个demo,连接数据库为Oracle
STRUTS自定义标签STRUTS自定义标签STRUTS自定义标签STRUTS自定义标签STRUTS自定义标签STRUTS自定义标签STRUTS自定义标签STRUTS自定义标签STRUTS自定义标签STRUTS自定义标签STRUTS自定义标签STRUTS自定义标签STRUTS...
自定义标签,直接代码,直接模仿开发即可 public class ButtonTag extends AttributeTag { //tld中定义的属性 public String label; public String url; public String click; public String confirm; public ...
Struts 2 自定义标签分页,有简单上下分页和数字分页
附件是一个简单的自定义标签,提供给大家参考,例子很简单,希望对大家有帮助,基于eclipse 开发
举例解说Bean Tags,HTML Tags 以及Logic Tags的使用方法。
自定义标签主要包括三个步骤: 1、编写java类,继承TagSupport类; 2、创建tld文件,影射标签名和标签的java类; 3、jsp页面引入tld。 博文地址:http://blog.csdn.net/itmyhome1990/article/details/50718282
struts2的自定义标签写法,并且有一个例子代码。
Struts2_自定义标签的方法