jsf里写自定义的标签

在JSF中生成自定义标签的方法
写tld文件:
基本格式如下,
<?xml version="1.0" encoding="UTF-8"?>
<taglib version="2.0" 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 web-jsptaglibrary_2_0.xsd">
  <tlib-version>1.0</tlib-version>
  <short-name>mytag</short-name>
  *在jsp文件生命中使用的标签名
  <uri>http://dotag.com/jsf/taglib</uri>
  *uri指向jsp的taglib项中声明的uri,jsp解析并比对uri寻找在WEB-INF目录下的tld文件,读取tag
  *的属性,见下文
   <tag>
       <name>validateForApp</name>
       <tag-class>com.dotag.taglib.ValidateForApp</tag-class>
       *指向tag具体的class文件
       <body-content>empty</body-content>
       *tag的body中无内容
       <attribute>
           <name>para_for_validate</name>
           *tag中定义的属性,在class文件中必须有相应的实现方式
           <required>true</required>
           <rtexprvalue>false</rtexprvalue>
       </attribute>
   </tag>
</taglib>
类文件ValidateForApp的内容
import javax.faces.application.Application;
...

/**
*
* @author ustc 张银叶
*/
public class ValidateForApp extends ValidatorTag{
    /*
    * JSF中提供了一个ValidatorTag的基类,继承ValidatorTag,
    * 只需要实现createValidator()函数即可
    */
    private String str;
    /*
    * 接受tag的属性值
    */
    public void setPara_for_validate(String str){
        this.str = str;
    }
   
    protected Validator createValidator(){
        /*
        * 这里可以写你需要的验证过程;
        * 也可以在其它的地方实现,JSF中提供Validator的接口类
        * 你需要做的是补充它内部的validate的函数;
        */
        ...
    }
   
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值