zoukankan      html  css  js  c++  java
  • 定义没有属性的标签

    class文件:

    package com.tag;

    import java.io.IOException;

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

    /**
    *定义标签操作类
    */
    public class HelloTag extends TagSupport {

    /**
    * 此方法主要的作用是在标签起始时进行调用,之后通过TagSupport类中的pageContext属性,
    * 取得了当前也页面的输出对象
    */
    @Override
    public int doStartTag() throws JspException {
    JspWriter out = super.pageContext.getOut(); //取得页面输出流对象
    try {
    out.println("<h1>Hello World!!!</h1>"); //进行页面输出
    } catch (Exception e) { //此时产生异常,需要处理
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    //由于此时开发的标签没有任何的标签体,所以在程序的最后返回的是一个SKIP_BODY的常量,表示不执行标签体内容
    return TagSupport.SKIP_BODY; //没有标签体
    }

    }

    配置文件:

    在/WEB-INF/下增加hellotag.tld文件

    <?xml version="1.0" encoding="UTF-8"?>
    <taglib version="2.1" xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee web-jsptaglibrary_2_1.xsd">
    <tlib-version>1.0</tlib-version> <!-- 表示标签库版本 -->
    <short-name>firsttag</short-name> <!-- 表示标签库在TLD中的描述文件 -->
    <tag>
    <name>hello</name> <!-- 表示标签在JSP中的使用名称 -->
    <tag-class> <!-- 表示这个标签所指向的class文件 -->
    com.tag.HelloTag
    </tag-class>
    <body-content>empty</body-content> <!-- 表示标签体内容为空 -->
    </tag>
    </taglib>

    在web.xml中配置hellotag.tld文件的映射

    <jsp-config>
    <taglib>
    <taglib-uri>mldn_hello</taglib-uri>
    <taglib-location>/WEB-INF/hellotag.tld</taglib-location>
    </taglib>
    </jsp-config>

    jsp文件:

    <%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
    <%@ taglib prefix="mytag" uri="mldn_hello" %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head>
    <base href="<%=basePath%>">

    <title>My JSP 'hellotag.jsp' starting page</title>

    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->

    </head>

    <body>
    <mytag:hello/> <!-- 访问标签 -->
    </body>
    </html>

  • 相关阅读:
    [FAQ] GitHub 开启二次验证之后,如何通过 https clone 项目 ?
    [FAQ] GoLand 需要手动开启代码补全吗 ?
    [FAQ] 夏玉米 按规则查询域名靠谱吗 ?
    [FAQ] Error: com.mysql.jdbc.Driver not loaded. :jdbc_driver_library
    [php-src] Php内核的有趣高频宏
    [php-src] Php扩展开发的琐碎注意点、细节
    [ELK] Docker 运行 Elastic Stack 支持 TLS 的两种简单方式
    [Contract] Solidity 生成随机数方案
    [MySQL] 导入数据库和表的两种方式
    [ELK] 生产环境中 Elasticsearch 的重要配置项
  • 原文地址:https://www.cnblogs.com/xingmeng/p/3030637.html
Copyright © 2011-2022 走看看