zoukankan      html  css  js  c++  java
  • jstl函数库及自定义函数库

    这些函数只能在EL表达式内使用,EL表达式之外不能使用的,前缀+冒号+函数名。

    jst函数l标签库使用:

    后台:

      request.setAttribute("hello","hello world");
    
    
    
      List list = new ArrayList();
    
      list.add("t1");
    
      list.add("t2");
    
      request.setAttribute("list",list);
    

    前台:

      <% taglib prefix="fn" uri=http://java.sun.com/jsp/jstl/functions %>
    
    
    
      ${fn:length(hello)}
    
    
    
      ${fn:length(list)}
    

    输出:

    11

    2

    自定义函数库:

      1.定义类和方法(方法必须是public static)
    
    
    
      2.编写自定义tld文件,编写完毕后将此文件放入WEB-INF或WEB-INF的任意子目录下
    
    
    
      3.在jsp中采用taglib指令引入自定义函数库
    
    
    
      4.采用 前缀+冒号+函数名  调用即可
    

    后台:

    package com.java_min.test
    
    public class MyFunctions(){
    
        public static String sayHello(String name){
    
                  return "Hello" + name;
    
        }
    
    }

      文件名:  myfunctions.tld

      内容:   1.把样例文件的头部信息拷贝下来直到<uri>标签,包括<uri>标签, 

             2.把拷入的头部内容信息进行修改,不要和以前的一样就可以了,描述,前缀,uri等,例如

    uri=http://www.java_min.com/functions    short-name="java_min"

             3.添加函数描述内容,即:声明自定义函数

      <function>

         <name>say</name>                             //此处的值就是jsp页面上调用时需要引用的函数名

         <function-class>com.java_min.test.MyFunctions</function-class>   //指定自定义类的路径

         <function-signature>java.lang.String sayHello(java.lang.String)</function-signature>  //生命函数返回值类型和参数类型,如果类型为基本类型,直接写类型即可,如int,long等,如果为对象类型,必须写完整路径,sayHello必须是要调用的函数名

      </function>

    前台:

     <% taglib prefix="s" uri="http://www.java_min.com/functions" %>(此处也可写tld文件的位置路径)
      ${java_min:say("jack")}
    

    输出:

    Hello jack

    注意:前台我们的jack是写死的,那么怎样动态写入呢,例如:

    后台:

      request.setAttribute("name","jack");
    

    前台:

      ${java_min:say(name)}    就可以了
    
  • 相关阅读:
    AngularJS指令的详解
    Linux(Ubuntu)下如何安装JDK
    Hibernate的三种状态
    JS是按值传递还是按引用传递
    git分支管理
    Hibernate注解映射联合主键的三种主要方式
    Linux下解决用户不能执行sudo的方法
    【GStreamer开发】GStreamer基础教程03——动态pipeline
    【GStreamer开发】GStreamer基础教程02——GStreamer概念
    【GStreamer开发】GStreamer基础教程02——GStreamer概念
  • 原文地址:https://www.cnblogs.com/lllini/p/11955313.html
Copyright © 2011-2022 走看看