当前位置: 首页 > news >正文

动态自定义标签属性页面(Tomcat 9)

============java文件 ,包名org.rain.tag

package org.rain.tag;

import java.io.IOException;

import java.util.HashMap;

import java.util.Map;

import javax.servlet.jsp.JspException;

import javax.servlet.jsp.tagext.DynamicAttributes;

import javax.servlet.jsp.tagext.SimpleTagSupport;

public class SmallRainDynamicTAG extends SimpleTagSupport implements DynamicAttributes {

private Map<String, Object> smallRianDynamicBeans = new HashMap<String, Object>();

@Override

public void setDynamicAttribute(String smallRainURI, String smallRainTAGName, Object smallRainTAGNameValue)

throws JspException {

smallRianDynamicBeans.put(smallRainTAGName, smallRainTAGNameValue);

}

@Override

public void doTag() throws JspException, IOException {

StringBuilder smallRainTagOut = new StringBuilder();

smallRianDynamicBeans.forEach((tagName, tagValue) ->

smallRainTagOut.append("<b>属性名:</b>" + tagName + " <b>属性值:</b>"+tagValue)

.append("<br>"));

getJspContext().getOut().print(smallRainTagOut.toString());

}

}

=====================TLD文件,放在WEB-INF\tld\rain.tld,名称rain.tld

<?xml version="1.0" encoding="UTF-8"?>

<taglib 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 http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"

version="2.1">

<tlib-version>1.0</tlib-version>

<short-name>rain</short-name>

<tag>

<name>SmallRainDynamicTAG</name>

<tag-class>org.rain.tag.SmallRainDynamicTAG</tag-class>

<body-content>empty</body-content>

<dynamic-attributes>true</dynamic-attributes>

</tag>

</taglib>

=========jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"

pageEncoding="UTF-8"%>

<%@ page language="java" %>

<%@ taglib uri="/web-rain/welcome.tld" prefix="rain"%>

<html>

<body>

<head>

<title>动态自定义标签属性页面</title>

</head>

<h3> 晓雨 动态自定义标签属性页面</h3> 可以更改JSP标签属性和值;<br>

例如修改标签 《rain:SmallRainDynamicTAG smallRainSchool="大学" smallRainHome="地址" 》<br>

添加标签属性和值 smallRainHomeSelf="中国"

<br>

<br>

<br>

<table width="100%" border="0" cellspacing="0" cellpadding="0">

<rain:SmallRainDynamicTAG smallRainSchool="大学" smallRainHome="地址"/>

</table>

</body>

</html>

相关文章:

  • C++——模版(二)
  • 【Python爬虫(66)】解锁政府公开数据:Python爬虫实战攻略
  • 冯诺依曼体系结构 ──── linux第8课
  • Windows安装SVN客户端及其中文汉化教程
  • 【C++】面试常问八股
  • 雷池WAF动态防护技术实测
  • GTID的基本概念
  • Windows前端开发IDE选型全攻略
  • 《零基础学会!如何用 sql+Python 绘制柱状图和折线图,数据可视化一看就懂》
  • 【大模型应用之智能BI】基于 Text2SQL 的 GenBI 技术调研和深度分析(包含案例)
  • Imagination通过最新的D系列GPU IP将效率提升至新高度
  • C# 根据Ollama+DeepSeekR1开发本地AI辅助办公助手
  • idea里的插件spring boot helper 如何使用,有哪些强大的功能,该如何去习惯性的运用这些功能
  • UE(虚幻)学习(五)初学创建NPC移动和遇到的问题
  • 推送项目与分支管理
  • 使用Docker 部署 LNMP+Redis 环境
  • 算法训练(leetcode)二刷第三十七天 | *300. 最长递增子序列、674. 最长连续递增序列、*718. 最长重复子数组
  • 结构型模式 - 装饰者模式 (Decorator Pattern)
  • ⭐算法OJ⭐位操作 Single Number 系列(C++实现)
  • char和varchar的不同
  • 体坛联播|水晶宫队史首夺足总杯,CBA总决赛爆发赛后冲突
  • 当“诈骗诱饵”盯上短剧
  • 经济日报:人工智能开启太空经济新格局
  • 国际乒联主席索林:洛杉矶奥运会增设混团是里程碑事件
  • 上海“城市文明开放麦”全城总动员,樊振东担任首位上海城市文明大使
  • 远洋集团:今年前4个月销售80.9亿元,同比增加13.62%