怎么使用EL调用函数

来源:互联网 发布:意大利爱乐乐团 知乎 编辑:程序博客网 时间:2024/06/11 23:15

EL函数:

为了实现真正的MVC模式开发,程序员和美工分工操作,JSP页面呈现无脚本java代码,EL给我们提供了一种El调用函数的方式.

 

缺点:

使用起来复杂,配置tld文件和web文件.

优点:

实现了完全的业务逻辑和表现逻辑分离.

 

 

下面介绍如何使用EL调用函数:

使用工具eclipse7.0,tomcat7.0

 

第一步:建立一个动态WEB项目,目录如下:

 

 

 

文件我已经建立好了,现在编写代码开始

 

第一步:建立一个类

代码如下:

package com.fun;

public class Fun {

     /**

      * 定义一个方法,方法要为静态,否则异常...

      */

public static int add(int a,int b){

//返回和

return a+b;

}

}

 

然后进行配置就可以通过EL表达式调用函数了哦!

 

第二步:配置文件fun.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 http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"

    version="2.1">

    

  <description>JSTL 1.1 core library</description>

  <display-name>JSTL core</display-name>

  <tlib-version>1.1</tlib-version>

  <short-name>c</short-name>

  <uri>http://java.sun.com/jsp/jstl/core</uri>

  

  <function>

  <!-- JSP中使用的函数名 -->

  <name>add</name>

  <!-- 具体到哪一个类-->

  <function-class>com.fun.Fun</function-class>

  <!-- 确定返回值的类型和参数的类型 -->

  <function-signature>java.lang.Integer add(int,int)</function-signature>

  </function>

  </taglib>

 

第三步:配置web.xml

<?xml version="1.0" encoding="UTF-8"?>

<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:jsp="http://java.sun.com/xml/ns/javaee/jsp" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" version="3.0">

  <resource-ref>

    <res-ref-name>jdbc/mysql1</res-ref-name>

    <res-type>javax.sql.DataSource</res-type>

    <res-auth>Container</res-auth>

  </resource-ref>

  <jsp-config>

  <taglib>

  <!-- JSP中访问的路径 -->

  <taglib-uri>http://function/fun1</taglib-uri>

  <!-- 标签库文件的位置 -->

  <taglib-location>/WEB-INF/fun.tld</taglib-location>  

  </taglib>

  </jsp-config>

</web-app>

 

第四步:建立1.jsp进行测试

 

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<%@ taglib uri="http://function/fun1" prefix="fun" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>EL调用函数</title>

</head>

<body>

<h1>EL调用函数</h1>

结果为:${fun:add(10,10)}

</body>

</html>

 

 

 

运行结果为:


原创粉丝点击