zoukankan      html  css  js  c++  java
  • 编写EL函数

    1.建立java类的静态函数

    package chapter4;
    
    public class ELFun {
    	public static String processStr(String s){
    		s = s.replaceAll("<", "&lt");
    		s = s.replaceAll(">", "&gt");
    		s = s.replaceAll(" ", " ");
    		return s;
    	}
    }
    

     在WEB-INF目录中建立一个tld目录,然后再目录中建立一个elfun.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/web-jsptaglibrary_2_1.xsd"
        version="2.1">
        <tlib-version>1.0</tlib-version>
        <jsp-version>2.1</jsp-version>
        <description>用于转换特殊字符</description>
        <uri>myelfun</uri>  <!-- 定义URI -->
        <function>
            <name>ps</name>
            <function-class>chapter4.ELFun</function-class>
            <function-signature>
                java.lang.String processStr(java.lang.String)
            </function-signature>
        </function>
    </taglib>

    修改web.xml文件,添加如下代码

    <jsp-config>
          <taglib>
              <taglib-uri>/WEB-INF/tld/elfun.tld</taglib-uri>
              <taglib-location>/WEB-INF/tld/elfun.tld</taglib-location>
          </taglib>
      </jsp-config>

    建立一个elfun.jsp文件,需要在声明中导入tld文件

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
    <%@ taglib uri="/WEB-INF/tld/elfun.tld" prefix="elfun" %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
    
      </head>
      
    
      <body>
      <input type='text' name='text'/>
        ${elfun:ps("<input type='text' name='text'/>") }
      </body>
    </html>

     除了使用tld文件的路径引用tld文件外,还可以使用在tld文件中定义的url引用tld文件

    例如:<%@ taglib uri="elfun" prefix="elfun" %>

    但为了避免冲突,url在外发布时最好带上域名,例如http://www.sun.com/myelfun

    如果使用路径引用tld文件,tld文件可以放到web工程中的任何目录下,并且无需重新服务器即可生效。

    如果使用url来引用tld文件,tld文件必须放到web-inf目录中或web-inf目录的子文件中,包括lib和classes目录,且必须重新服务器或重新发布web工程。

  • 相关阅读:
    不错的计算机免费电子书网站
    十点提高编程技巧
    delphi 通过TStyleManager设置主题类型
    delphi 简体和繁体字符串转换
    delphi unidac 连接mysql
    Delphi 的字符及字符串 string、AnsiString、WideString、String[n]、ShortString
    delphi format格式
    AnsiString和WideString 区别
    企业级Docker私有仓库部署(https)
    企业级Docker私有仓库之Harbor部署(http)
  • 原文地址:https://www.cnblogs.com/tuifeideyouran/p/4366687.html
Copyright © 2011-2022 走看看