Struts2自定义简单标签

本文介绍struts2简单自定义标签,繁杂标签定义请查看struts2结合freemarker自定义标签,实现过程请参照下文的步骤。

以数字1-26转换为大写字母为例


1、在项目src下新建一个com.tag


2、在com.tag包下新建Struts2Tag.java类,内部实现如下:

========================--  start --============================

package com.tag;

/**
 * 扩展struts2标签  <br>
 * @author RSun
 * @Date 2012-10-8上午11:47:26
 */
public class Struts2Tag {

/**

* 转换序号为字母A/B/C/D/....

* @param num 数字(1-26)

* @return

*/

public static String replaceOptions(Integer num) {

if(num==null || num<0 || num>26) num = 1;

String options = ((char)(num+64))+"";

return options;

}


}

========================--  end--============================


3、在WEB-INF下新建tld文件RSun-tags.tld,内部实现如下:

========================--  start  --===========================

<?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">

<description>struts2_tags_test</description>

<tlib-version>2.0</tlib-version>

<short-name>RSun</short-name>

<uri>/RSun-tags</uri>  <!-- 页面引用tld名称 -->


<!--  关联tag类相关配置 -->

<function>

<description>substring</description>

<name>replaceOptions</name>

<function-class>com.tag.Struts2Tag</function-class><!--  关联引用类 -->

<function-signature>java.lang.String replaceOptions(java.lang.Integer)</function-signature> <!--  方法及参数 -->

<example>${st-tag:replaceOptions(num)}</example> <!--  页面使用示例 -->

</function>


</taglib>

==========================--  end--============================


4、相关配置已实现,下面看jsp页面引用示例

首先需要引入:<%@ taglib uri="/RSun-tags" prefix="st" %>

然后页面调用:${st-tag:replaceOptions(num)}

结果示例:如果num=1,则输出A。

执行流程:struts会根据标签找到Struts2Tag类的 replaceOptions方法,然后输出结果值。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值