自定义Struts2简单标签

我以获取当前时间的标签为例,开发一个自定义的标签bin:currentTime。操作步骤如下:

一、首先要定义一个标签处理类。

package org.binbin.tag;

import java.io.IOException;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.JspWriter;
import javax.servlet.jsp.tagext.TagSupport;

/**
 * 自定义标签
 * @author binbin(cn.binbin@qq.com)
 * @date 2013-3-28
 */
public class TimeTag extends TagSupport
{
    private static final long serialVersionUID = 6918846280074418825L;

    @Override
    public int doStartTag() throws JspException
    {
        JspWriter out = this.pageContext.getOut();
        
        //定义时间输出格式
        DateFormat df = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss");
        //获取当前时间的指定格式字符串
        String str = df.format(new Date());
        
        try
        {
            //输出当前时间字符串到页面
            out.print(str);
        } catch (IOException e)
        {
            //如果出现异常,当前程序无法处理,所以重新抛出一个运行时异常
            throw new RuntimeException(e);
        }
        return super.doStartTag();
    }
}

二、然后在WEB-INF目录下添加一个标签库定义文件bin.tld

<?xml version="1.0" encoding="UTF-8" ?>
<taglib xmlns="http://java.sun.com/xml/ns/j2ee"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
	version="2.0">
	<tlib-version>1.0</tlib-version>
	<short-name>bin</short-name>
	<uri>/bin-tags</uri>
	
	<tag>
		<name>currentTime</name>
		<tag-class>org.binbin.tag.TimeTag</tag-class>
		<body-content>empty</body-content>
	</tag>
</taglib>

三、在jsp页面中使用该标签

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<!-- 需要先导入相应标签库 -->
<%@ taglib uri="/bin-tags" prefix="bin"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>My JSP '1.jsp' starting page</title>
  </head>
  <body>
    系统当前时间:<bin:currentTime/>
  </body>
</html>

四、运行效果


以上过程即自定义标签开发的一般流程。仅供参考~

斌斌 (给我写信) 原创博文(http://blog.csdn.net/binbinxyz),转载请注明出处

 

自定义标签扩展功能:

控制JSP页面某一部分内容是否执行;

控制整个JSP页面是否执行;

控制JSP页面内容重复执行;

修改JSP页面内容输出。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值