jsp实用教程

1.要想实现一个简单的标签的,可以直接继承javax.servlet.jsp.tagext.TagSupport类,如果要定义的标签内没有标签,则直接覆写TagSupport类中的doStartTag()方法即可。在标签开发之中最为复杂的就是对于返回值的处理,下面给出一个简单的返回值。,由于现在定义的是一个没有变前提的标签,表示没有标签中的其他内容不再执行了。之前开发servlet的时候曾经配置过了一个servlet的开发包,但是现在的标签的支持类并不在servlet包之中,这个时候的配置和之前的配置很相似,就是在Tomcat的目录下D:\Tomcat 6.0\lib找到jsp-api.jar和el-api.jar,并将其拷贝到java的编译环境中C:\Program Files\Java\jdk1.6.0_21\jre\lib\ext这样就将其配置好了。下面是一个简单的标签的java类代码:
package org.lxh.tagdemo;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
public class HelloTag extends TagSupport{
public int doStartTag() throws JspException{
JspWriter out = super.pageContext.getOut();
try{
out.println("<h1>Hello World!!!</h1>");
}catch(Exception e){}
return TagSupport.SKIP_BODY;
}
}
jsp实用教程:除了标签类之外还是需要一个标签的描述类,描述类的后缀就是.tld下面在web-inf文件夹中编写上面类的描述类hellotag.tld:
<?xml version="1.0" encoding="UTF-8"?>
<taglib xmlns=""
xmlns:xsi=""
xsi:schemaLocation="
version="2.1">
<tlib-version>1.0</tlib-version>
<short-name>firsttag</short-name>
<tag>
<name>hello</name>
<tag-class>org.lxh.tagdemo.HelloTag</tag-class>
<body-content>empty</body-content>
</tag>
</taglib>
这样一个标签的描述文件就完成了。剩下的就是在jsp文件中和使用标签了。然后接着编写一个引用标签的jsp页面:代码如下所示:
<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>
<%@ taglib prefix="mytag" uri="/WEB-INF/hellotag.tlb"%>
<html>
<head><title>标签的认识</title></head>
<body>
<h1><mytag:hello/></h1>
</body>
</html>
启动服务器之后,打开对应的jsp页面就可以找到对应的输出的页面了。同样的我们可以使用web.xml对tld文件进行一个映射,映射的代码:
<jsp-config>
<taglib>
<taglib-uri>mldn_hello</taglib-uri>
<taglib-location>/WEB-INF/hellotag.tld</taglib-location>
</taglib>
</jsp-config>
映射的名称是mldn_hello,以后再jsp页面中就可以直接通过mldn_hello进行使用了访问了。Jsp页面的修改之后的代码如下所示:
<%@ page language="java" contentType="text/html" pageEncoding="GBK"%>
<%@ taglib prefix="mytag" uri="mldn_hello"%>
<html>
<head><title>标签的认识</title></head>
<body>
<h1><mytag:hello/></h1>
</body>
</html>
jsp实用教程:标签的操作之中文件的配置是非常的多的,需要标签的支持类,标签的描述文件,如果需要的还可以再文件web.xml文件中进行配置,最后还是需要在jsp页面中进行一次的引用。所以在开发中很少的使用这个标签类进行操作。
本文来源 我爱IT技术网 http://www.52ij.com/jishu/583.html 转载请保留链接。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
