JSP自定义EL函数

    技术2022-05-20  33

     

     

    EL 函数:必须要放在 EL 表达式里

    定义 EL 函数的步骤 :

    1:        public 构造方法

    2.        定义特定的 static 函数

    3.        在标记库描述文件( tld )中描述这个函数

    4.        web.xml 部署次 tld 文件

    注:如果打成 jar 包放在 build path tld 文件放在包里就不要配置了

    5.        JSP 文件中用 taglib 指令定义函数的命名空间

     

    Java:

    public class MoneyFunc {    public MoneyFunc(){}    /**   * 返回带,号的金额   * @param amount   * @return   */  public static String getFormatStr(String amount)  {   String ret = "";   try {    ret = NumberFormat.getCurrencyInstance().format(Double.valueOf(amount)).replaceAll("¥", "");   } catch (Exception e) {   }   return ret;  }

    }

     

    money.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 web-jsptaglibrary_2_0.xsd"         version="2.0">         <tlib-version>1.1</tlib-version>         <short-name>money</short-name>         <uri>/money</uri>     <function>         <description>返回带,号的金额</description>         <name>getFormatStr</name>         <function-class>org.xxxxx.MoneyFunc</function-class>         <function-signature>              java.lang.String getFormatStr(java.lang.String)         </function-signature>     </function> </taglib>

     

    web.xml:

     <jsp-config>

          <taglib>         <taglib-uri>/WEB-INF/tld/money.tld</taglib-uri>         <taglib-location>/WEB-INF/tld/money.tld</taglib-location>   </taglib>

     </jsp-config>

     

    jsp:

    <%@ taglib uri="/WEB-INF/tld/money.tld" prefix="money" %>

    ${money:getFormatStr(ent.bfamount)}

     

     

    //上面有一步是多余的 的。。。。 

     

    详情看李刚疯狂的那本书

     

     

     

     

     


    最新回复(0)