JavaWeb——EL 函数
三、EL 函数
- EL 也允许定义和使用函数。
1、步骤
- EL 函数的定义和使用的步骤,一般如下面:
- 新建一个 Java 类,并在该类中编写公用静态方法,用于定义和实现 EL 函数的功能。
- 接着编写对应的标签库描述文件,对函数进行声明;标签库文件拓展名为.tld,放在 Web 应用的 WEB-INF 文件夹下。
- 在 JSP 中引用标签库,并调用定义的 EL 函数,实现相应的功能。
2、示例
- 以下为示例
- 首先新建一个 Java 类,代码如下:
//IntelliJ IDEA //JavaWebProject1 //ELFunctionTest //2019/12/8 // Author:御承扬 //E-mail:2923616405@qq.com package com.lyq.ELFunctionSet; public class ELFunctionTest { public static String shiftEnter(String str){ String newStr = str.replaceAll("\r\n","<br>"); newStr = newStr.replaceAll(" "," "); return newStr; } }
- 接着新建一个 .tld 标签文件,代码如下:
<?xml version="1.0" encoding="ISO-8859-1"?> <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"> <tlib-version>1.0</tlib-version> <short-name>myshortname</short-name> <uri>/ELFunctionTest</uri> <!-- Invoke 'Generate' action to add tags or functions --> <function> <name>shiftEnter</name> <function-class>com.lyq.ELFunctionSet.ELFunctionTest</function-class> <function-signature>java.lang.String shiftEnter(java.lang.String)</function-signature> </function> </taglib>
- 然后建立一个 jsp 页面,编辑如下:
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ taglib prefix="TEL" uri="/ELFunctionTest" %> <html> <head> <title>显示结果</title> <style type="text/css"> body{ background: #d7c7e9; align-items: center; text-align: center; } </style> </head> <body> 内容为:<br> ${TEL:shiftEnter(param.content)} </body> </html>
- 在 Web 的 index 页面,编辑如下代码:
<form name="form1" method="post" action="ELCodeSet/deal.jsp"> <label> <textarea name="content" cols="30" rows="5"></textarea> </label> <br> <input type="submit" name="Button" value="提交"> </form>
3、部署运行
- 部署到 Tomcat 运行,首先看到的是 index 页面的情况,在文本域,编辑如图文字:
- 点击提交,跳转到处理页面: