定义使用EL函数

  1. 首先需要定义一个处理的类.class
  2. 在标签库中定义一个描述文件,并将其保存在WEB-INF文件夹下面
    1. <uri>标记:用于指定tld文件的映射路径。在引用EL函数时,需要使用该标记指定内容。
    2. <name>标记:用于指定EL函数所对应的Java文件,这里需要包括包名和类名
    3. <function-class>标记:用于指定EL函数所对应的静态方法,这里包括返回值的类型和入口参数的类型。在指定这些类型时,需要使用完整的类型名。
    4. <function-signature>标记:用于指定EL函数所对应的静态方法,这里包括返回值的类型和入口参数的类型。在指定这些类型时,需要使用完整的类型名。
  3. 前台jsp页面的引用
  4. 实例:
             编写java类
  1. package com.util;
  2. public class StringDeal {
  3. public static String shiftEnter(String string){
  4. String newString = string.replace(" ", "<br>");
  5. newString = newString.replace(" ", " ");
  6. return newString;
  7. }
  8. }
           编写标签库的描述文件,将其保存在web-inf文件夹下,使用new,新建tld文件。注意选择的version和jspversion,如图
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <taglib version="2.0" xmlns="http://java.sun.com/xml/ns/j2ee"
  3. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4. xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee web-jsptaglibrary_2_0.xsd">
  5. <tlib-version>1.0</tlib-version>
  6. <uri>/stringDeal</uri>
  7. <function>
  8. <!-- 调用的函数名称-->
  9. <name>shiftEnter</name>
  10. <!-- 调用的类java-->
  11. <function-class>com.util.StringDeal</function-class>
  12. <!-- 调用的函数的参数类型,和函数返回值类型-->
  13. <function-signature>java.lang.String shiftEnter(java.lang.String)</function-signature>
  14. </function>
  15. </taglib>
        之后在JSP页面中使用EL表达式,使用这个java文件的函数即可  
  1. <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
  2. <!-- 注意下面这行,的uri使用的是tld中的url,而perfix是对象 -->
  3. <%@ taglib uri="/stringDeal" prefix="sd"%>
  4. <meta charset="utf-8">
  5. <html>
  6. <body>
  7. <%request.setCharacterEncoding("utf-8"); %>
  8. <!-- EL表达是中的函数使用,StringDeal中的shiftEnter函数 -->
  9. ${sd:shiftEnter(param.content) }
  10. </body>
  11. </html>





原文地址:https://www.cnblogs.com/sober-reflection/p/4095499.html