自定义JSP中的Taglib标签之四自定义标签中的Function函数

2023-11-13

Java代码如下:

自定义JSP中的Taglib标签之四自定义标签中的Function函数

package org.lxh.taglib;

import java.util.List;

public class FunctionTag {

	public static String hello(String name) {

		return name;
	}

	public static Integer bbq(List list) {

		return list.size();
	}
}

方法必须静态,可以定义有返回值或者void类型的方法.

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>my</short-name>
	<uri>http://lauedward.spaces.live.com</uri>
	<function>
		<!--EL页面调用名字-->
		<name>hello</name>
		<!--指定标签的处理类,指定了标签由哪个Java类来处理。-->
		<function-class>org.lxh.taglib.FunctionTag</function-class>
		<!--指定EL页面调用名字中实际调用的方法.指定处理类的实际方法.参数和回调函数要写完整路径-->
		<function-signature>java.lang.String hello(java.lang.String)</function-signature>

	</function>

	<function>
		<name>bbq</name>
		<function-class>org.lxh.taglib.FunctionTag</function-class>
		<function-signature>java.lang.Integer bbq(java.util.List)</function-signature>
	</function>
</taglib>

注意:在<function-signature>需要写完整的类名,假如是String类型的话就必须写java.lang.String这样字,不支持泛型的定义如java.util.List<java.lang.String>eclipse会把<>当作xml的格式来判断的,所以就省略该泛型的定义.

jsp:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="my" uri="/WEB-INF/tld/testFunction.tld"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%@page import="java.util.*"%><html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>

<%
    List<String> list = new ArrayList<String>();
    list.add("aa");
    list.add("bb");
    list.add("cc");
    request.setAttribute("list", "helloword");
    request.setAttribute("name", list);
    Map map = new HashMap();
    map.put("1","a");
    map.put("2","b");
    map.put("3","c");
    map.put("4","d");
%>

<br>
${my:hello(list)}
<br>
${my:bbq(name)}
<br>

</body>
</html>

注意:调用方法的时候必须类型要传入相同类型的值,否则的话会报错,不过对于方法体是String的话,是可以传入list,set,map那些,因为传入后会直接调用list的.toString()方法直接当字符串输出.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

自定义JSP中的Taglib标签之四自定义标签中的Function函数 的相关文章

  • 没有为与上下文路径 [/TestStruts] 关联的命名空间 [/] 和操作名称 [Test] 映射的操作。 - [未知位置]

    我正在 NetBeans 7 2 1 中的 struts 2 3 16 上尝试我的第一个应用程序 输入 URL 时显示以下错误 http localhost 8080 TestStruts Test action 有一个Test jsp p
  • 如何在保存到数据库之前在JSP中转义html?

    我现在正在学习 JSP 和 Java 并写了一个 非常 简单的留言簿来开始使用 JSP 但我想确保没有人可以使用 CSS 因此我需要在将 HTML 代码保存到 mySQL 数据库之前删除它 我已经在这里搜索并找到了 PreparedStat
  • 为什么 jsp 会触发 PropertyNotFound?

    在JSP中编写 a b c 抛出 c PropertyNotFound 但写入
  • JSP 中的 CDI 注入

    在 JSP 中 可以使用 EL 表达式 例如 myBean myAttribute 来使用 CDI 托管 Bean 这里没问题 我想在 JSP 文件中使用 常规注入 即不使用 EL 表达式 和 Inject 例如 然后是 即使该示例可以使用
  • 为什么需要修改 JSP 中的 buffer 和 autoflush 属性?

    我不明白为什么需要修改JSP中的buffer和autoflush属性 它们是做什么的 如果我不修改它们会发生什么 JSP 页面生成的任何内容都存储在缓冲区中 当缓冲区已满时 它会被发送回客户端 浏览器 当缓冲区刷新一次时 重定向或转发将不起
  • 基本身份验证:是否可以像 getRemoteUser() 一样设置RemoteUser

    您好 我正在使用基本身份验证方法来保护我的 Web 应用程序中的某些页面 其中有指定的 url 模式如下
  • 下载链接选项在显示标记中不起作用

    您好 我正在使用显示标签库显示表格 它工作正常 但是当我导出链接时 它遇到了麻烦 所以可以帮助我如何做到这一点 我的代码将是这样的
  • 在 JSF/JSP EL 和 Javascript 中连接字符串[重复]

    这个问题在这里已经有答案了 我在使用 EL 和 javascript 函数 JSF 1 2 Facelets Richfaces 3 3 0GA 时遇到问题 我有一个页面包含另一个组合
  • 将 JSTL 添加到 jsp (Tomcat 8) [重复]

    这个问题在这里已经有答案了 我想在我的 jsp 中使用 JSTL 库 现在我按照教程进行操作 它告诉我将此行添加到 jsp 页面 它给我错误无法解析 taglib 与 uri 然后是 URL 我正在运行 tomcat 8 我的 web xm
  • 如何在ngDialog中加载数据

    我有一个要求 我需要从 jsp 页面打开一个对话框 并且在打开该对话框时 我需要从服务器加载一些预填充的数据 使用 AJAX 调用 如果我在打开对话框之前进行 AJAX 调用 我会获取数据 但对话框会像新页面一样加载 如果我尝试在新控制器中
  • 如何从JSP中获取java类的对象

    我有一个结果jsp页面 它打印java类的字符串变量 有人能给我任何想法吗 我使用简单的 httpServlet 作为操作类 Class A String name public void setName this name callMet
  • 如何在 Jetty Web 服务器中部署 JSP 文件?

    我创建了一个简单的 JSP 文件 我想将其部署在 Jetty 7 2 中 Jetty 正在运行 我可以看到默认网页 http localhost 8080 我用 Jetty 启动java jar start jar命令 我保存了简单的 JS
  • 如何在 jsp 中访问 ModelMap?

    如何从jsp中的ModelMap访问一个对象 以便调用它的方法 目前我收到此错误 Syntax error on token delete this token JSP Java Controller RequestMapping dash
  • 在 servlet 中的 URL 中使用变量的最简单方法

    在 servlet 中的 URL 中使用变量的最简单方法是什么 Eg http somesite com MyServlet ID 这就是所谓的路径信息 您可以使用HttpServletRequest getPathInfo http ja
  • struts2 date无法通过jquery datetimepicker获取时间

    我是struts2的新手 创建了一个小型Web应用程序 我想要一个帖子是计时器 我选择jquery datetimpicker 在用户选择时间和日期后 它将显示用户选择的时间和日期 我用这个jquery http www javascrip
  • JSP 标签+ scriptlet。如何启用脚本?

    我有一个使用标签模板的页面 我的 web xml 非常基本 我只是想在页面中运行一些代码 不 我对标签或其他替代品不感兴趣 我想使用不好的做法 scriptlet 哈哈 到目前为止 我收到了 HTTP ERROR 500 错误 Script
  • jsp页面中的tomcat7和EL; pageContext.request.contextPath 为空?

    我的 JSP 页面包含 视图 源显示该值的 到目前为止我还没有发现任何错误 我的 web xml 指定版本 2 5 如果您将 Web 应用程序部署在 ROOT 上 它将为空 另请参阅其javadoc http docs oracle com
  • 已做出回应

    我有一个取消按钮 用于刷新值 现在我已将它们转换为刷新或重新加载页面并移至只读页面 因此更改了取消按钮来调用这样的函数 function chkArea var url
  • JPS useBean 与 HashMap

    如何正确地将 jsp useBean 与列表和地图等集合一起使用 我可以通过使用获取列表 type List
  • 如何在 JSP 中导入类?

    我是一个完全的JSP初学者 我正在尝试使用java util List在 JSP 页面中 我需要做什么才能使用除以下类之外的类java lang 使用以下导入语句进行导入java util List 顺便说一句 要导入多个类 请使用以下格式

随机推荐

  • 【Stm32野火】:野火STM32F103指南者开发板烧写官方示例程序LCD无法点亮?LCD示例程序无法使用?

    项目场景 大家好 最近在使用野火STM32F103指南者开发板的时候发现官方的示例程序LCD驱动代码居然无法直接驱动LCD点亮 这让我百思不得其解 以下就是我的踩坑填坑的过程 希望对大家有所帮助 野火官方资料下载文档链接 野火STM32F1
  • 计算机核心期刊排名及投稿信息

    1 计算机学报 北京 中国计算机学会等 2 软件学报 北京 中国科学院软件研究所 3 计算机研究与发展 北京 中国科学院计算技术研究所等 4 自动化学报 北京 中国科学院等 5 计算机科学 重庆 国家科技部西南信息中心 6 控制理论与应用
  • [Python图像处理] 三十七.OpenCV直方图统计两万字详解(掩膜直方图、灰度直方图对比、黑夜白天预测)

    该系列文章是讲解Python OpenCV图像处理知识 前期主要讲解图像入门 OpenCV基础用法 中期讲解图像处理的各种算法 包括图像锐化算子 图像增强技术 图像分割等 后期结合深度学习研究图像识别 图像分类应用 希望文章对您有所帮助 如
  • 线程池源码分析(一)

    最近在阅读 阿里巴巴Java开发手册 的时候 书中有这么一段话 线程池这块理解不是很深 今天就抽时间重新学习一遍 对于书中的问题分析完成后答案便一目了然 创建线程池的一个方式 ExecutorService e Executors newF
  • 三维重建_COLMAP安装、使用和参数说明(翻译自官方文档)

    近期因为想要入选学校某位很厉害的老师的某个项目 布置的小任务就是先把colmap以及openMVS跑一跑 我就记录了一下学习的经过 一 Ubuntu上源码编译colmap 参考网址 https colmap github io instal
  • 单片机串口控制树莓派3B播放HDMI视频,omxplayer,

    使用树莓派3B通过HDMI播放视频 并且使用串口去控制播放哪个视频 1 问题解耦 单片机串口控制树莓派3B播放视频 树莓派播放视频 单片机串口传参控制树莓派 树莓派播放视频 树莓派播放视频 并且能用串口这种简单的通信方式去控制 应该是需要安
  • java实现写大量数据到文件中

    生成 txt文件 生成 csv文件 生成 xls文件 import java io BufferedWriter import java io File import java io FileOutputStream import java
  • 【缓存】缓存,这么用才真正达到缓存的效果

    1 概述 转载 https zhuanlan zhihu com p 62508629 一 什么是缓存 平常的开发项目中 多多少少都会使用到缓存 因为一些数据我们没有必要每次查询的时候都去查询到数据库 一个形象的比喻 数据库是人的身体 缓存
  • 序列比对算法-计算生物学

    1 序列比对指将两个或多个序列排列在一起 标明其相似之处 序列中可以插入间隔 通常用短横线 表示 对应的相同或相似的符号 在核酸中是A T 或U C G 在蛋白质中是氨基酸残基的单字母表示 排列在同一列上 这一方法常用于研究由共同祖先进化而
  • CSS 3D转换——transform 属性的 rotatex() 方法和 rotatey() 方法

    目录 CSS 3D转换 浏览器支持 转换属性 3D Transform方法 常用方法 rotatex 方法 rotatey 方法 结语 CSS 3D转换 CSS3 允许我们使用 3D 转换来对元素进行格式化 浏览器支持 表格中的数字表示支持
  • 无线局域网下的远程控制、文件传输以及代理设置[Windows

    需求 在同一个路由器连接的局域网下 Ubuntu通过Windows端上网 Windows端远程控制Ubuntu系统 主机 Windows10 被操控端 Ubuntu18 04 在Windows方下载一个客户端 如Termius 远程控制和操
  • sql注入(报错注入)适用于union无法使用的情况

    extractvalue函数原理 这是一个对xml文件进行查询的函数 它的作用是 会从目标xml文件中返回所包含查询值的字符串 标准语法为 extractvalue XML document Xpath string extractvalu
  • for循环实现1-100之间偶数和

    package com itheima 04 需求 求出1 100之间偶数和 分析 A 定义求和变量 初始化值是0 B 获取1 100之间的数据 用for循环实现 C 把获取到的数据进行判断 看是否是偶数 如果是 就累加 D 输出求和结果
  • kernel:关于linux内核重要文件的基本描述

    linux Makefile 文件 这个Makefile文件的主要作用是指示make程序最终使用独立编译连接成的tools 目录中的build执行程序将所有内核编译代码连接和合并成一个可运行的内核映像文件 image 具体是对 boot 中
  • 协处理器cp15

    CP15访问CP15寄存器的指令 在基于ARM的嵌入式应用系统中 存储系统通常是通过系统控制协处理器CP15完成的 ARM处理器使用协处理器CP15的寄存器来控制cache 极高速缓存 TCM 高速缓存 和存储管理 CP15包含16个32位
  • anaconda的安装和常用指令

    1 下载anaconda之后 首先打开anaconda prompt 输入 conda version获取当前anaconda的版本 有可能会出现 首先要清理所有的包 conda clean packages tarballs 可以Win
  • 如何控制Spring bean的生命周期

    先了解下Spring bean的生命周期 创建 初始化 销毁 这对读懂Spring源码十分有帮助 控制Spring bean的生命周期有3种方式 下面分别用代码展示 方式一 Bean 注解上手动指定bean的初始化方法和销毁方法 Confi
  • 操作系统 存储管理 分页分段

    操作系统 存储管理 分页分段 分页存储管理 是将一个进程的逻辑地址空间分成若干个大小相等的片 称为页面或页 并为各页进行编号 从0开始 分页地址中的地址结构如下 页表实现了从页号到物理块号的地址映像 通过查找该表 即可找到每页在内存中的物理
  • c语言在线翻译器,【C语言】【window】--在线翻译器.doc

    C语言 Windows 在线翻译器 01 程序简介 程序名称 编译器 vs2010 其它也可以 程序大小 10K 文件包括 exe skinh she SkinH dll msvcr100 dll 程序界面 02 任务说明 光影队 任务 L
  • 自定义JSP中的Taglib标签之四自定义标签中的Function函数

    Java代码如下 自定义JSP中的Taglib标签之四自定义标签中的Function函数 package org lxh taglib import java util List public class FunctionTag publi