[上机目的与要求] 理解并掌握EL表达式、理解并掌握常用的JSTL标签。
[上机重点与难点] EL和JSTL的使用。
[上 机 方 法] 由指导老师演示和指导,学生亲自上机操作。
[上 机 内 容] 使用EL和JSTL简化页面开发。
建议学时:2
一、使用EL表达式简化javaBean的开发
编写一个用户登录的JavaBean,用户信息包括用户名和密码。
编写user.jsp,使用setProperty设置用户名为125jz,密码为123。
使用EL获取用户名和密码并显示。
二、使用EL实现问卷调查
用户输入昵称、所在城市,并且以多选的方式让用户选择所使用的开发语言,然后使用EL表达式显示在页面上。
三、EL函数的定义与使用
定义和使用EL函数的3个步骤:
(1)编写一个Java类,在该类中编写公用的静态方法,用于实现自定义EL函数的具体功能。
(2)编写标签库描述文件,对函数进行声明。该文件的扩展名为.tld,被保存到Web应用的WEB-INF文件夹下。
(3)在JSP页面中引用标签库,并调用定义的EL函数,实现相应的功能。
定义EL函数处理字符串中的回车换行符和空格符。
(1)编写一个Java类,名称为StringDeal,将其保存在com 包中,在该类中添加一个公用的静态的方法shiftEnter(),在该方法中替换输入字符串中的回车换行符为<br>,空格符为 ,最后返回新替换后的字符串。
StringDeal类代码如下:
package com; public class StringDeal { public static String shiftEnter(String str) { String newStr = str.replaceAll("\r\n", "<br>"); // 替换回车换行符 newStr = newStr.replaceAll(" ", " "); // 替换空格符 return newStr; } }
(2)编写标签库描述文件,名称为stringDeal.tld,并将其保存到WEB-INF文件夹下,关键代码如下:
<?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.0</tlib-version> <uri>/stringDeal</uri> <function> <name>shiftEnter</name> <function-class>com.StringDeal</function-class> <function-signature>java.lang.String shiftEnter(java.lang.String) </function-signature> </function> </taglib>
<uri>标记:用于指定tld文件的映射路径。在应用EL函数时,需要使用该标记指定的内容。
<name>标记:用于指定EL函数所对应方法的方法名,通常与Java文件中的方法名相同。
<function-class>标记:用于指定EL函数所对应的Java文件,需要包括包名和类名。
<function-signature>标记:用于指定EL函数所对应的静态方法,这里包括返回值的类型和入口参数的类型。在指定这些类型时,需要使用完整的类型名,例如,在上面的代码中,不能指定该标记的内容为“String shiftEnter(String)”。
3)编写index.jsp文件,添加一个表单及表单元素:
<form name="form1" method="post" action="deal.jsp"> <textarea name="content" cols="30" rows="5"></textarea> <input type="submit" name="Button" value="提交" > </form>
(4)编写表单的处理页deal.jsp文件,应用EL函数,对获取到的内容信息进行处理。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@ taglib uri="/stringDeal" prefix="jgy"%> <%request.setCharacterEncoding("UTF-8"); %> <html><head><meta charset="utf-8"> <title>显示结果</title> </head><body> 内容为:<br> ${jgy:shiftEnter(param.content)} </body> </html>
说明:在引用标签库时,指定的uri属性与标签库描述文件中的<uri>标记的值是相对应的。
运行结果:
四、JSTL 表达式标签的使用
编写jstl.jsp文件,使用set 标签给session范围内的变量username赋值为张三;
使用set 标签给application范围内的变量count赋值为0;
使用out 标签在页面上显示变量username和count的值;
使用remove 标签删除这两个变量。
125jz网原创文章。发布者:江山如画,转载请注明出处:http://www.125jz.com/2899.html