1、Servlets Jsp 实验10表达式语言EL的使用10 实验十 表达式语言的使用一 实验目的1. 了解表达式语言的功能;2. 掌握表达式语言的使用。二 实验内容1. 表达式语言运算符的使用下面的JSP页面operator.jsp演示了EL运算符的使用: JSP 2.0 Expression Language - Basic Arithmetic JSP 2.0 表达式语言 - 基本算术运算符 该例说明了基本的表达式语言的算术运算符的使用,其中包括加(+),减(-), 乘(*),除(/ 或 div), 取余 (% 或 mod)。 EL 表达式 结果 $1 $1 $1 + 2 $1 + 2 $
2、1.2 + 2.3 $1.2 + 2.3 $1.2E4 + 1.4 $1.2E4 + 1.4 $-4 - 2 $-4 - 2 $21 * 2 $21 * 2 $3/4 $3/4 $3 div 4 $3 div 4 $3/0 $3/0 $10%4 $10%4 $10 mod 4 $10 mod 4 $(1=2) ? 3 : 4 $(1=2) ? 3 : 4 2 访问作用域变量编写一个名为EmployeeBean的JavaBean,其中包括3个属性eno表示雇员号、ename表示雇员名和ecompany表示雇员公司名。【步骤1】EmployeeBean.java程序代码package com.be
3、ans;public class EmployeeBean private String eno = ; private String ename = ; private String ecompany = ; public EmployeeBean() public void setEno(String eno) this.eno = eno; public void setEname(String ename) this.ename = ename; public void setEcompany(String ecompany) this.ecompany = ecompany; pub
4、lic String getEno() return eno; public String getEname() return ename; public String getEcompany() return ecompany; 【步骤2】编写一个JSP页面,在其中通过表单输入雇员信息,将请求转发到一个Servlet。请输入雇员信息:雇员号:雇员名:公司名:【步骤3】下面的Servlet从JSP页面得到客户信息package com.control;import java.io.*;import javax.servlet.*;import javax.servlet.http.*;impo
5、rt com.beans.EmployeeBean;public class EmployeeServlet extends HttpServlet public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException,IOException String eno = request.getParameter(eno); String ename = request.getParameter(ename); String ecompany = request.ge
6、tParameter(ecompany); EmployeeBean employee = new EmployeeBean(); employee.setEno(eno); employee.setEname(ename); employee.setEcompany(ecompany); request.setAttribute(employee, employee); RequestDispatcher view = request.getRequestDispatcher(/displayEmployee.jsp); view.forward(request, response); 【步
7、骤4】下面的JSP使用EL表达式显示用户的信息雇员的信息如下: 雇员号:$employee.eno 雇员名:$employee.ename 公司名:$employee.ecompany3. 隐含对象的使用下面的JSP页面implicit.jsp演示了EL隐含对象的使用。 EL implicit objects JSP 2.0 表达式语言-隐含对象 输入foo参数值 foo= EL 表达式 结果 $param.foo $param.foo $paramfoo $paramfoo $headerhost $headerhost $headeraccept $headerac
8、cept $headeruser-agent $headeruser-agent 4. 在JSP页面中使用Java函数设要在JSP页面中使用一个add()函数,实现两个整数的加法运算。在JSP中使用Java函数要经过如下3个步骤:【步骤1】函数的定义,创建类文件Compute.java。它定义了要在JSP中使用的add()方法。package com.demo;public class Compute public static int add(String x,String y) int a = 0; int b = 0; try a = Integer.parseInt(x); b = I
9、nteger.parseInt(y); catch(Exception e) System.err.println(Number format is illegal.); return a+b; 【步骤2】创建标签库描述文件taglib.tld。它实现将每个Java方法与函数名相匹配。 A Simple Taglib File. 1.0 Simple Tag Library Adding two numbers add com.demo.Compute int add( java.lang.String, java.lang.String) 注意:将该文件保存在Web应用程序WEB-INFcl
10、asses目录中。【步骤3】编写JSP文件sum.jsp,使用标签库URI以及函数名调用Java函数,代码如下:Using Function 计算两个整数之和 X = Y = 两个整数的和为:$demo:add(paramx,paramy)该页面运行结果为:图10.1 sum.jsp页面的运行结果5. 下面在Functions类中定义了reverse()函数用来实现字符串反转、numVowels()函数用来实现统计字符串中元音字母个数、caps()函数用来将一个字符串转换成大写字母、palindrome()函数用来判断一个字符串是否是回文。编译该文件,编写TLD文件定义这些函数,编写JSP页面
11、使用这些函数。package com.function;import java.util.*;public class Functions public static String oldString(String text) return text; public static String reverse( String text ) return new StringBuffer( text ).reverse().toString(); public static int numVowels( String text ) String vowels = aeiouAEIOU; int
12、result = 0; for( int i = 0; i text.length(); i+ ) if( vowels.indexOf( text.charAt( i ) ) != -1 ) result+; return result; public static String caps( String text ) return text.toUpperCase(); public static boolean palinDrome(String str) StringBuffer sb = new StringBuffer(str); if(sb.reverse().toString(
13、).equals(str) return true; else return false; A Simple Taglib File. 1.0 Simple Tag Library output the old String oldString com.function.Functions java.lang.String oldString(java.lang.String) Reverses the characters in the given String reverse com.function.Functions java.lang.String reverse(java.lang
14、.String) Counts the number of vowels (a,e,i,o,u) in the given String numVowels com.function.Functions java.lang.int numVowels(java.lang.String) Converts the string to all caps caps com.function.Functions java.lang.String caps(java.lang.String) Judge a string if a palinDrome palinDrome com.function.F
15、unctions java.lang.Boolean palinDrome(java.lang.String)Using Function 函数功能 text: you entered: $function:oldString(paramtext)After reversing: $function:reverse(paramtext)After counting vowels: there are $function:numVowels(paramtext) vowels.After exchanging:$function:caps(paramtext)After judging: the text weather is palinDrome? $function:palinDrome(paramtext)三 思考题1. 简述JSP表达式语言的主要功能有哪些? 2简述在JSP页面中使用Java函数的步骤。源代码:1:(1):input.jsp请输入雇员信息:雇员号:雇员名:公司名:(2): EmployeeServlet.servletpackage com.control;import java.io.*;import javax.servlet.*;import javax.servlet.h
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1