jsp自定义标签(tag)开发
1 标记处理程序类
处理类继承TagSupport类并重载doStartTag()方法,
在该方法中使用out.print();输出需要的数据到使用本标签的jsp页面
package cn.xxx;
public class DateTag extends TagSupport {
private static final long serialVersionUID = 1L;
public int doStartTag() throws javax.servlet.jsp.JspException {
JspWriter out;
try {
out = pageContext.getOut();
out.print("hello你好" + new Date());
} catch (IOException ioe) {
throw new JspException("I/O Error : " + ioe.getMessage());
}
return Tag.SKIP_BODY;//return 0;
}
}
2 创建使用标签类的创TLD文件
(可以从struts中的标签库中的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
web-jsptaglibrary_2_0.xsd" verson="2.0">
<tlib-version>1.0</tlib-version>
<jspversion>1.1</jspversion>
<info>A simple tag library</info>
<tag>
<name>displayDate</name>
<tagclass>cn.eecn.DateTag</tagclass>
<bodycontent>empty</bodycontent>
<info>Display Date</info>
</tag>
</taglib>
3 导入标签库
* 方法1
在web.xml文件中先静态导入tld文件,再jsp中用别名导入标签
web.xml:
<taglib>
<taglib-uri>myTags</taglib-uri>
<taglib-location>/WEB-INF/lib/DateTagLib.tld</taglib-location>
</taglib>
jsp:
<%@ taglib uri="myTags" prefix="abc" %>
* 方法2:
在jsp页面中直接使用动态导入tld文件
<%@ taglib uri="/WEB-INF/lib/DateTagLib.tld" prefix="abc" %>
4 在页面中使用标签
jsp
<abc:displayDate />
引用参考:http://blog.myspace.cn/e/406226695.htm
相关文档:
<%@ page contentType="text/html; charset=gb2312" %>
<%@ page language="java"%>
<%@ page info="database handler"%>
<%@ page import="java.io.*"%>
<%@ page import="java.lang.*"%>
<%@ page import="java.util.*"%>
<%@ page import="java.sql.*"%> ......
jsp的内置对象、功能以及主要方法
Jsp内置对象 功能 主要方法
out 向客户端输出数据 print() println() flush() clear() isAutoFlush() getBufferSize() close() …………
request 向客户端请求数据 getAttributeNames() getCookies() getParameter() getParameterValues() ......
如果jsp插入mysql数据库出现乱码,mysql数据库安装时编码设为utf8,在执行插入语句的前面(紧挨着执行语句)添加转码语句:String na="";
try{
&nbs ......
J2EE 探索者:
创建和管理有状态 Web 应用程序
对4种会话作用域的适当处理
文档选项
将此页作为电子邮件发送
拓展 Tomcat 应用
......