使用EL调用Java方法

来源:互联网 发布:macbook怎么卸载软件 编辑:程序博客网 时间:2024/06/05 19:43
lEL表达式语法允许开发人员开发自定义函数,以调用Java类的方法。
示例:${prefixmethod(params)}
EL表达式中调用的只能是Java类的静态方法
这个Java类的静态方法需要在TLD文件中描述,才可以被EL表达式调用。(Taglibrary Definition)
EL自定义函数用于扩展EL表达式的功能,可以让EL表达式完成普通Java程序代码所能完成的功能。

一般来说,EL自定义函数开发与应用包括以下三个步骤:
1.•编写一个Java类的静态方法
2.•编写标签库描述符(tld)文件,在tld文件中描述自定义函数。
3.•JSP页面中导入和使用自定义函数

示例:小写转大写
1.•编写一个Java类的静态方法. 名称为FunctionDemo
package com.itheima.base;/* * 小写转换为大写 * 需要静态方法 */public class FunctionDemo {      public  static String toUpperCase(String value){      return value.toUpperCase();      }}

2.•编写标签库描述符(tld)文件,在tld文件中描述自定义函数。  在WebRoot 目录下创建名称为myfun.tld的xml文件
<?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">      <tlib-version>1.0</tlib-version>  <short-name>itheima</short-name>  <uri>http://www.itheima.com/jsp/jstl/myfun</uri>  <function>    <description>      toUpperCase    </description>    <name>toUpperCase</name>    <function-class>com.itheima.base.FunctionDemo</function-class>    <function-signature>java.lang.String toUpperCase(java.lang.String)</function-signature>    <example>      <itheima:toUpperCase('aaaa')    </example>  </function></taglib>
3.•JSP页面中导入和使用自定义函数 在WebRoot 目录下名称为6.jsp文件
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%><%@ taglib uri="http://www.itheima.com/jsp/jstl/myfun"   prefix="itheima" %><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html>  <head>        <title></title>    <meta http-equiv="pragma" content="no-cache"><meta http-equiv="cache-control" content="no-cache"><meta http-equiv="expires" content="0">      </head>    <body>    ${itheima:toUpperCase('aaaa') }      </body></html>



0 0
原创粉丝点击