专栏首页Python程序员杂谈JSTL使用自定义函数

JSTL使用自定义函数

这里简单说一下JSTL中自定义函数的使用。 首先建立一个类:MyFunctions:

package com.jstl;

/**
 * JSTL自定义函数
 * @author 胡阳
 *
 */
public class MyFunctions {

    /**
     * 必须为静态的全局的,在字符串前面加“hello”
     * @param username
     * @return
     */
    public static String sayHello(String username) {
        return "hello:" + username;
    }
}

然后写一个tld文件:myfn.tld:(这里面的uri是自己随意定义的,不过要考虑到如果定义很多这样的uri的话可能出现命名冲突,所以起名要有规律)

<?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">

  <description>my own JSTL functions</description>
  <display-name>JSTL MyFunctions</display-name>
  <tlib-version>1.0</tlib-version>
  <short-name>myfn</short-name> <!-- 这个myfn就是在使用时需要写在冒号前面的标签 -->
  <uri>http://www.the5fire.com/MyFunctions</uri>

  <function>
    <description>
      my first function.
    </description>
    <name>sayHello</name> <!-- 这个sayHello就是在使用时需要写在冒号后面的方法 -->
    <function-class>com.jstl.MyFunctions</function-class>
    <function-signature>java.lang.String sayHello(java.lang.String)</function-signature>
    <example>

    </example>
  </function>
</taglib>

然后在上一篇文章中的jstl_fn.jsp中引入自定义函数:

<%@ taglib uri="http://www.the5fire.com/MyFunctions" prefix="myfn" %>

再在该文件中添加以下代码:

<li>自定义函数sayHello使用</li><br>
    ${myfn:sayHello("胡阳") }<br>

到这就完了,还是同先前一样,自己实验一下。重点就是最开始写的那个java类,它可以干的事有很多。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • JSTL中函数的简单使用

    因为函数的使用方法和EL表达式以及核心库中的标签的使用有点小区别,因此发这篇文章,并且根据fn的使用以及学习,后面我们就可以使用自定义的JSTL的函数库。 首先...

    the5fire
  • Python 中使用 Pillow 处理图片增加水印

    这个是个比较常见的需求,比如你在某个网站上发布了图片,在图片上就会出现带你昵称的水印。那么在Python中应该如何处理这一类需求呢?

    the5fire
  • 安装完ubuntu还需要安装什么

    从上周末开始折腾系统到现在终于算是弄完了,把刚安装完ubuntu之后需要安装的其他东西记录下来。

    the5fire
  • 开机向导到联网状态,一直失败问题 分析

    用户1263308
  • 如何为linux服务器配置DNS解析?

    修改本地hosts文件,利用hosts自动解析域名到ip,此方法也适用于windows,只不过windows的位置于C:\WINDOWS\system32\dr...

    机智的程序员小熊
  • 如何为linux服务器配置DNS解析?

    修改本地hosts文件,利用hosts自动解析域名到ip,此方法也适用于windows,只不过windows的位置于C:\WINDOWS\system32\dr...

    小小科
  • Silverlight 3.0 RTM资源

    2009年7月11日消息,微软正式发布Silverlight 3,其中在6大方面功能做了改善。 1、平滑视频流技术,也就是H.264编解码器:微软表示其新视频流...

    张善友
  • 搞明白JavaScript中的匿名函数

    到此,你会发现单独运行一个匿名函数,由于不符合语法要求,报错啦!解决方法只需要给匿名函数包裹一个括号即可:

    用户1272076
  • Flutter map 妙用及 .. 使用

    本篇文章对于熟悉 flutter 或者 dart 的小伙伴来说可能觉得比较简单,但是对于初学者或者没用过的小伙伴还是有些收获的。

    AndroidTraveler
  • java学习笔记(中级篇)—单例模式

    我们知道JVM的内存资源是很宝贵的,尤其是在程序很庞大的时候,尽量减少创建不必要的对象是能够很大程度的减少内存的开销。单例模式的好处就是能够节省内存,限制了实例...

    chlinlearn

扫码关注云+社区

领取腾讯云代金券