jsp_04 自定义标签
来源:互联网 发布:初中毕业学java 编辑:程序博客网 时间:2024/05/16 11:37
JSP自定义标签:
自定义标签是用户定义的JSP语言元素。
JSP标签扩展可以让你创建新的标签并且可以直接插入到一个JSP页面。
可以继承SimpleTagSupport类并重写的doTag()方法来开发一个最简单的自定义标签。
接下来,我们想创建一个自定义标签叫作<ex:Hello>,标签格式为:<ex:Hello/>的三个步骤:
1. 创建处理标签的Java类:
import javax.servlet.jsp.tagext.*;import javax.servlet.jsp.*;import java.io.*;public class HelloTag extends SimpleTagSupport { public void doTag() throws JspException, IOException { JspWriter out = getJspContext().getOut(); out.println("Hello Custom Tag!"); }}
<?xml version="1.0" encoding="ISO-8859-1"?><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 http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1"> <tlib-version>1.0</tlib-version> <short-name>Example TLD</short-name> <!--定义第一个标签 --> <tag> <!-- 定义标签名 --> <name>Hello</name> <!-- 定义标签处理类 --> <tag-class>MyJsp.HelloTag</tag-class> <!-- 定义标签体为空 --> <body-content>empty</body-content> </tag></taglib>
<%@ page contentType="text/html;charset=UTF-8" language="java" %><%@ taglib prefix="ex" uri="WEB-INF/helloTag.tld"%><html><head> <title>自定义tag实例</title></head><body><ex:Hello/></body></html>
自定义标签属性:
1.创建处理标签的java类
package MyJsp;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.tagext.SimpleTagSupport;import java.io.IOException;import java.io.StringWriter;/** * Created by 1192126986 on 2017/1/25. */public class HelloTag extends SimpleTagSupport { private String message; StringWriter sw=new StringWriter(); public void setMessage(String message){ this.message=message; } @Override public void doTag() throws JspException, IOException { if(message!=null){ //从标签属性中使用信息 JspWriter out=getJspContext().getOut(); out.println(message); }else{ //从标签体中使用信息 getJspBody().invoke(sw); JspWriter out=getJspContext().getOut(); out.println(sw.toString()); }}}
2.创建标签库:
<?xml version="1.0" encoding="ISO-8859-1"?><!-- 标签库定义 --><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 http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd" version="2.1"> <tlib-version>1.0</tlib-version> <short-name>Example TLD</short-name> <!--定义第一个标签 --> <tag> <!-- 定义标签名 --> <name>Hello</name> <!-- 定义标签处理类 --> <tag-class>MyJsp.HelloTag</tag-class> <!-- 定义标签体为空 --> <body-content>scriptless</body-content> <!-- 自定义标签属性 --> <attribute> <!-- name 属性 描述:定义属性的名称 --> <name>message</name> </attribute> <attribute> <name>attribute_name</name> <!-- required 属性 描述:指定属性是否是必须的或是可选的 false为可选的 --> <required>false</required> <!-- type属性 描述:指定属性的java类型 默认为String --> <type>java.lang.Boolean</type> <!-- fragment 属性 描述:如果声明了该属性,属性值将被视为一个 JspFragment --> <fragment>false</fragment> </attribute> </tag></taglib>
3.在JSP文件中使用标签
<%-- Created by IntelliJ IDEA. User: 1192126986 Date: 2017/1/25 Time: 22:33 To change this template use File | Settings | File Templates.--%><%@ page contentType="text/html;charset=UTF-8" language="java" %><%@taglib prefix="ex" uri="WEB-INF/helloTag.tld" %><html><head> <title>自定义tag实例</title></head><body><ex:Hello message="This is a tag!"/></body></html>
1 0
- jsp_04 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- 自定义标签
- PLSQL游标的使用
- Educational Codeforces Round 17 A+B
- SuperSocket入门(五)-常用协议实现模版及FixedSizeReceiveFilter示例_0
- C语言经典弱智问题解法整理
- dk uma creator 添加装备教程
- jsp_04 自定义标签
- Leetcode 344. Reverse String
- plsq例外
- Debian8中关闭beep警报声
- NOIP2016Day2T1组合数问题(problem)
- View的事件体系
- 欢迎使用CSDN-markdown编辑器
- 《Linux内核设计与实现》读书笔记(四)- 进程的调度
- http响应状态码304