关于jsp自定义标签的学习

来源:互联网 发布:淘宝闪电退货卖家拒收 编辑:程序博客网 时间:2024/04/30 09:43

步骤:
1、创建自定义标签类(即讲jsp中的java代码隐藏起来)
2、创建tld文件(配置自定义标签类的相关信息:uri,name,tag-class等)
注意:tld位置应该位于 WEB-INF目录下
3、配置web.xml文件(配置tld文件的相关信息)
4、在JSP的中导入自定义标签
代码
———-0—————————-以UserBean为例子

package cn.zhm.model;public class UserBean {    private String username;    private String password;    private String birthday;    private String address;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public String getBirthday() {        return birthday;    }    public void setBirthday(String birthday) {        this.birthday = birthday;    }    public String getAddress() {        return address;    }    public void setAddress(String address) {        this.address = address;    }}

——————-1———————————–自定义标签类

package cn.zhm.jspTag;import java.io.IOException;import javax.servlet.jsp.JspException;import javax.servlet.jsp.JspWriter;import javax.servlet.jsp.tagext.TagSupport;import cn.zhm.model.UserBean;public class Jsptag extends TagSupport{    private UserBean userBean;    @Override    public int doStartTag() throws JspException {            JspWriter out = this.pageContext.getOut();        if (userBean==null) {            try {                out.print("user not fount...");                   return SKIP_BODY;//skip the rest of body            } catch (IOException e) {                // TODO Auto-generated catch block                throw new RuntimeException();            }        }        try {            out.print("Username IS"+userBean.getUsername());        } catch (IOException e) {            // TODO Auto-generated catch block            throw new RuntimeException();        }        return SKIP_BODY;    }       //getter and setters    public UserBean getUserBean() {        return userBean;    }    public void setUserBean(UserBean userBean) {        this.userBean = userBean;    }}

——————-2———————————–创建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><jsp-version>2.0</jsp-version><short-name>c</short-name><uri>/mytaglib</uri><tag>    <name>Jsptag</name>    <tag-class>cn.zhm.jspTag.Jsptag</tag-class>    <body-content>empty</body-content>    <attribute>        <name>userBean</name>         <required>false</required>         <rtexprvalue>true</rtexprvalue>    </attribute> </tag></taglib>

——————-3———————————–
配置xml文档

  <jsp-config>    <taglib>        <taglib-uri>/mytaglib</taglib-uri>        <taglib-location>/WEB-INF/jspTag.tld</taglib-location>    </taglib>  </jsp-config>

——————-4———————————–导入自定义标签及测试

<%@taglib uri="/mytaglib" prefix="c" %>   <%    UserBean user = new UserBean();    user.setUsername("zhm");    pageContext.setAttribute("user", user);    %>    <c:Jsptag userBean="${user}"/>
0 0
原创粉丝点击