zoukankan      html  css  js  c++  java
  • tag标签记录

    看到项目代码中有一个自定义的tag标签,想起以前自己写过的标签,竟然忘记的差不多了,手一痒,自己写个简单的tag标签,回顾一下历史知识

    首先建一个servlet工程,然后写个index.jsp,项目跑起来,正常后,开始写标签

    工程结构:

    image

    这估计算是最简单的工程结构了,什么东西都不要改,只加个commons.tld文件和处理这个标签的PageUtils.java类,而且简单的都不要在web.xml里加任何配置就可以运行,真是方便的很啊

    直接看commons.tld文件

    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE taglib
      PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN"
      "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd">
    <taglib>
        <tlib-version>2.0</tlib-version>
        <jsp-version>1.2</jsp-version>
        <short-name>common</short-name>
        <uri>http://javass.cn/common/</uri>
        <display-name>Common Tag</display-name>
        <description>Common Tag library</description>

        <tag>
            <name>page</name>
            <tag-class>com.wxw.common.tld.PageUtils</tag-class>
            <attribute>
                <name>url</name>
                <required>true</required>
                <rtexprvalue>true</rtexprvalue>
            </attribute>
        </tag>
    </taglib>

    然后就是PageUtils.java文件

    package com.wxw.common.tld;

    import java.io.IOException;

    import javax.servlet.jsp.JspException;
    import javax.servlet.jsp.JspWriter;
    import javax.servlet.jsp.tagext.TagSupport;

    public class PageUtils extends TagSupport {

        /**
         *
         */
        private static final long serialVersionUID = 1L;
       
        private String url = null;

        @Override
        public int doStartTag() throws JspException {
            JspWriter out = pageContext.getOut();
            try {
                out.print("<a href='http://www.baidu.com'>"+url+"</a>");
            } catch (IOException e) {
                e.printStackTrace();
            }
            return super.doStartTag();
        }

        public String getUrl() {
            return url;
        }

        public void setUrl(String url) {
            this.url = url;
        }
       
       
    }

    代码简单的很,在jsp中调用的情况是:

    <%@ page language="java" contentType="text/html; charset=utf-8"
        pageEncoding="utf-8"%>
    <%@ taglib prefix="common" uri="http://javass.cn/common/" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Insert title here</title>
    </head>
    <body>
        this is index.jsp
        <form action="index.jsp" method="post">
            <input name="test1" type="text">
            <input name="test2" type="text">
            <input type="submit" value="提交">
        </form>
        <common:page url="我了个去"></common:page>
    </body>
    </html>

    结果就是:

    image

    代码简单明了,仔细看就明白了,我也只是做个代码记录,省的以后到处找。如果想深入的化,这块还是有点难度的,如果想写个page标签,还是需要一定的前后台功底,这里如果以后用到了,就在后面加上,暂时项目里没用tag标签写代码的情况,以前项目里用过,那倒也都是简单的数据访问。

  • 相关阅读:
    [刘阳Java]_eayui-pagination分页组件_第5讲
    [刘阳Java]_easyui-draggable拖动组件_第4讲
    [刘阳Java]_easyui-panel组件入门级_第3讲
    [刘阳Java]_TortoiseSVN基础应用_第1讲
    [刘阳Java]_SpringMVC文件上传第2季_第11讲
    [刘阳Java]_Spring中IntrospectorCleanupListener的用途【补充】_第16讲
    使用fetch代替ajax请求 post传递方式
    react购物车demo
    react-redux异步数据操作
    redux模块化demo
  • 原文地址:https://www.cnblogs.com/wxwall/p/3188872.html
Copyright © 2011-2022 走看看