Jsp/Servlet复习笔记-----第9章 自定义标签和JSP标准标签库

标签库:
原因:在JSP的开发中,在标准的MVC设计模式里,希望尽可能的不要出现Scriplet(<
%....%>),在JSP中提供了一种叫做标签库的程序代码,此代码可以解决JSP中出现Scriplet代码的情况,但是此种开发比较困难,而且标签库的功能类似于JavaBean。
标签库程序应该有以下几部分组成:
 标签的具体实现文件(*.java):javax.servlet.jsp.tagext.TagSupport
 标签的表述文件(*.tld)
 如果需要可以在web.xml中进行配置
 在JSP中通过标签进行自定义标签的调用

9.1 自定义标签   
9.1.1自定义标签简介   
9.1.2 标签库描述符
9.1.3 标签开发实例
开发一个简单的能够打印一个”Welcome to www.darkness.org”的程序
Java代码
1.<%@ page pageEncoding="gb2312"%>  
2.<%@ taglib uri="WEB-INF/darkness.tld" prefix="sky"%>  
3.<html>  
4.<head>  
5.<title>Dark_Sky</title>  
6.</head>  
7.<body>  
8.<sky:darkness/>  
9.</body>  
10.</html>  
11.</body>  
12.</html>  
13.<?xml version="1.0" encoding="ISO-8859-1"?>  
14.<!DOCTYPE taglib PUBLIC "-//Sun Microsystems,Inc.//DTD JSP Tag Library 1.2//EN" 
15.    "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">  
16.<!--a tag library descriptor-->  
17.<taglib>  
18.    <tlib-version>1.0</tlib-version>  
19.    <jsp-version>1.2</jsp-version>  
20.    <short-name>first</short-name>  
21.    <uri></uri>  
22.    <info>A simple tab library for the examples</info>  
23.    <tag>  
24.        <name>darkness</name>  
25.        <tag-class>darksky.Welcome</tag-class>  
26.        <body-content>JSP</body-content>  
27.    </tag>  
28.</taglib> 
<%@ page pageEncoding="gb2312"%>
<%@ taglib uri="WEB-INF/darkness.tld" prefix="sky"%>
<html>
<head>
<title>Dark_Sky</title>
</head>
<body>
<sky:darkness/>
</body>
</html>
</body>
</html>
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE taglib PUBLIC "-//Sun Microsystems,Inc.//DTD JSP Tag Library 1.2//EN"
"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd">
<!--a tag library descriptor-->
<taglib>
<tlib-version>1.0</tlib-version>
<jsp-version>1.2</jsp-version>
<short-name>first</short-name>
<uri></uri>
<info>A simple tab library for the examples</info>
<tag>
<name>darkness</name>
<tag-class>darksky.Welcome</tag-class>
<body-content>JSP</body-content>
</tag>
</taglib>Java代码
1.package darksky;  
2. 
3.import java.io.*;  
4.import javax.servlet.jsp.*;  
5.import javax.servlet.jsp.tagext.*;  
6. 
7.public class Welcome extends TagSupport {  
8.    public int doStartTag() {  
9.        try {  
10.            JspWrite out = pageContext.getOut();  
11.            out.println("Welcome to www.darkness.org");  
12.        } catch (Exception ex) {  
13.            //ex.printStrackTrace();  
14.        }  
15.        // 只要打印完了字符传,则后面的代码就不需要执行了  
16.        return TagSupport.SKIP_BODY;  
17.    }  
18.} 
package darksky;

import java.io.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;

public class Welcome extends TagSupport {
public int doStartTag() {
try {
JspWrite out = pageContext.getOut();
out.println("Welcome to www.darkness.org");
} catch (Exception ex) {
//ex.printStrackTrace();
}
// 只要打印完了字符传,则后面的代码就不需要执行了
return TagSupport.SKIP_BODY;
}
}
   
9.2  JSP标准标签库(JSTL)
9.2.1 JSTL 简介
9.2.2 配置JSTL
9.2.3核心标签库
9.2.4国际化与格式化标签库
9.2.5 SQL 标签库
9.2.6 标签库应用实例
   9.3 本章小结


你可能感兴趣的:(jsp,mvc,Web,servlet,sun)