分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

JSTL基础 SimpleTagSupport 自定义标签 带有属性

发布时间:2023-09-06 01:29责任编辑:赖小花关键词:暂无标签

礼悟:
     好好学习合思考,尊师重道存感恩。叶见寻根三返一,江河湖海同一体。
          虚怀若谷良心主,愿行无悔给最苦。读书锻炼强身心,诚劝且行且珍惜。




       javaEE:7           
       javaSE:1.8
          JSTL:1.2.2  
      server:tomcat 8.5
    browser:Chrome/Firefox
             os:windows7 x64
            ide:MyEclipse 2017

 

项目结构


jizuiku-tags.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 http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" ?version="2.0"> ???<tlib-version>1.0</tlib-version> ?<short-name>jzk</short-name> ?<uri>http://www.jizuiku.com/tags/1.0</uri> ???????<!-- 配置标签 --> ?<tag> ?<name>MyTag</name><!-- 指定当前标签的名称 --> ?<tag-class>com.jizuiku.tag.MyTag</tag-class><!-- 当前标签的处理类 --> ?<body-content>scriptless</body-content><!-- 指定标签体的类型 EL表达式 --> ?<!-- 部署属性 --> ?<attribute> ?<name>value</name> ?<required>true</required> <!-- 是必须要给的属性 --> ?<rtexprvalue>true</rtexprvalue><!-- rt:runtime expr:expression value:value --> ????????<!-- 属性赋值可以是EL表达式 --> ?</attribute> ?</tag> ?</taglib>

MyTag.java

package com.jizuiku.tag;import java.io.IOException;import javax.servlet.jsp.JspException;import javax.servlet.jsp.tagext.SimpleTagSupport;/** * ?* ?* @author 博客园-给最苦 * @version V2017.12.04 */public class MyTag extends SimpleTagSupport {private boolean value = false;/* ?* 在doTag之前被tomcat调用 ?* getXxx就不用写了,请问为什么? * ?*/public void setValue(boolean value) {this.value = value;}@Overridepublic void doTag() throws JspException, IOException {// TODO Auto-generated method stubif (value) {// 执行标签体,参数是null 指的是 输出流是当前页面的outthis.getJspBody().invoke(null);this.getJspContext().getOut().print("居然是真");} else {// 执行标签体,参数是null 指的是 输出流是当前页面的outthis.getJspBody().invoke(null);this.getJspContext().getOut().print("居然是假");}}}

MyJsp.jsp

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%><%@ taglib prefix="j" uri="/WEB-INF/tlds/jizuiku-tags.tld"%><%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 ‘MyJsp.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"></head><body><!-- 给最苦 没有起好名字,完全不能见名知意呀!!! --><j:MyTag value="${empty param.name }">呵呵,这里必须要写一些内容。否则就会抛出空指针异常<br></j:MyTag></body></html>

浏览器查看


学习资源:itcast和itheima视频库。如果您有公开的资源,可以分享给我的话,用您的资源学习也可以。
博文是观看视频后,融入思考写成的。博文好,是老师讲得好。博文坏,是 给最苦 没认真。

JSTL基础 SimpleTagSupport 自定义标签 带有属性

原文地址:http://www.cnblogs.com/jizuiku/p/7994030.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved