ServletsJsp 实验10表达式语言EL的使用.docx
- 文档编号:14271810
- 上传时间:2023-06-22
- 格式:DOCX
- 页数:27
- 大小:160.93KB
ServletsJsp 实验10表达式语言EL的使用.docx
《ServletsJsp 实验10表达式语言EL的使用.docx》由会员分享,可在线阅读,更多相关《ServletsJsp 实验10表达式语言EL的使用.docx(27页珍藏版)》请在冰点文库上搜索。
ServletsJsp实验10表达式语言EL的使用
10
实验十表达式语言的使用
一.实验目的
1.了解表达式语言的功能;
2.掌握表达式语言的使用。
二.实验内容
1.表达式语言运算符的使用
下面的JSP页面operator.jsp演示了EL运算符的使用:
<%@pagecontentType="text/html;charset=gb2312"%>
JSP2.0表达式语言-基本算术运算符
该例说明了基本的表达式语言的算术运算符的使用,其中包括加(+),减(-),乘(*),除(/或div),取余(%或mod)。
EL表达式 结果 \${1} ${1} \${1+2} ${1+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} \${3div4} ${3div4} \${3/0} ${3/0} \${10%4} ${10%4} \${10mod4} ${10mod4} \${(1==2)? 3:
4}
${(1==2)? 3:
4}
2访问作用域变量
编写一个名为EmployeeBean的JavaBean,其中包括3个属性eno表示雇员号、ename表示雇员名和ecompany表示雇员公司名。
【步骤1】EmployeeBean.java程序代码
packagecom.beans;
publicclassEmployeeBean{
privateStringeno="";
privateStringename="";
privateStringecompany="";
publicEmployeeBean(){
}
publicvoidsetEno(Stringeno){
this.eno=eno;
}
publicvoidsetEname(Stringename){
this.ename=ename;
}
publicvoidsetEcompany(Stringecompany){
this.ecompany=ecompany;
}
publicStringgetEno(){
returneno;
}
publicStringgetEname(){
returnename;
}
publicStringgetEcompany(){
returnecompany;
}
}
【步骤2】编写一个JSP页面,在其中通过表单输入雇员信息,将请求转发到一个Servlet。
<%@pagecontentType="text/html;charset=gb2312"%>
请输入雇员信息:
雇员号: | |
雇员名: | |
公司名: |
【步骤3】下面的Servlet从JSP页面得到客户信息
packagecom.control;
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.http.*;
importcom.beans.EmployeeBean;
publicclassEmployeeServletextendsHttpServlet{
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
throwsServletException,IOException{
Stringeno=request.getParameter("eno");
Stringename=request.getParameter("ename");
Stringecompany=request.getParameter("ecompany");
EmployeeBeanemployee=newEmployeeBean();
employee.setEno(eno);
employee.setEname(ename);
employee.setEcompany(ecompany);
request.setAttribute("employee",employee);
RequestDispatcherview=
request.getRequestDispatcher("/displayEmployee.jsp");
view.forward(request,response);
}
}
【步骤4】下面的JSP使用EL表达式显示用户的信息
<%@pagecontentType="text/html;charset=gb2312"%>
雇员的信息如下:
- 雇员号:
${employee.eno}
- 雇员名:
${employee.ename}
- 公司名:
${employee.ecompany}
3.隐含对象的使用
下面的JSP页面implicit.jsp演示了EL隐含对象的使用。
<%@pagecontentType="text/html;charset=gb2312"%>
JSP2.0表达式语言-隐含对象
输入foo参数值
foo=
EL表达式 结果 \${param.foo} ${param.foo} \${param["foo"]} ${param["foo"]} \${header["host"]} ${header["host"]} \${header["accept"]} ${header["accept"]} \${header["user-agent"]} ${header["user-agent"]}
4.在JSP页面中使用Java函数
设要在JSP页面中使用一个add()函数,实现两个整数的加法运算。
在JSP中使用Java函数要经过如下3个步骤:
【步骤1】函数的定义,创建类文件Compute.java。
它定义了要在JSP中使用的add()方法。
packagecom.demo;
publicclassCompute{
publicstaticintadd(Stringx,Stringy){
inta=0;
intb=0;
try{
a=Integer.parseInt(x);
b=Integer.parseInt(y);
}catch(Exceptione){
System.err.println("Numberformatisillegal.");
}
returna+b;
}
}
【步骤2】创建标签库描述文件taglib.tld。
它实现将每个Java方法与函数名相匹配。
xmlversion="1.0"encoding="UTF-8"?
>
xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation=" version="2.0"> intadd(java.lang.String,java.lang.String) 注意: 将该文件保存在Web应用程序WEB-INF\classes目录中。 【步骤3】编写JSP文件sum.jsp,使用标签库URI以及函数名调用Java函数,代码如下: <%@pagecontentType="text/html;charset=gb2312"%> <%@taglibprefix="demo"uri="%>
计算两个整数之和
X=
Y=
两个整数的和为:
${demo:
add(param["x"],param["y"])}
该页面运行结果为:
图10.1sum.jsp页面的运行结果
5.下面在Functions类中定义了reverse()函数用来实现字符串反转、numVowels()函数用来实现统计字符串中元音字母个数、caps()函数用来将一个字符串转换成大写字母、palindrome()函数用来判断一个字符串是否是回文。
编译该文件,编写TLD文件定义这些函数,编写JSP页面使用这些函数。
packagecom.function;
importjava.util.*;
publicclassFunctions{
publicstaticStringoldString(Stringtext)
{
returntext;
}
publicstaticStringreverse(Stringtext){
returnnewStringBuffer(text).reverse().toString();
}
publicstaticintnumVowels(Stringtext){
Stringvowels="aeiouAEIOU";
intresult=0;
for(inti=0;i if(vowels.indexOf(text.charAt(i))! =-1){ result++; } } returnresult; } publicstaticStringcaps(Stringtext){ returntext.toUpperCase(); } publicstaticbooleanpalinDrome(Stringstr){ StringBuffersb=newStringBuffer(str); if((sb.reverse().toString()).equals(str)){ returntrue; }else{ returnfalse; } } } xmlversion="1.0"encoding="UTF-8"? > xmlns: xsi="http: //www.w3.org/2001/XMLSchema-instance" xsi: schemaLocation=" version="2.0"> <%@pagecontentType="text/html;charset=gb2312"%> <%@taglibprefix="function"uri="%>
函数功能
text:
youentered:
${function:
oldString(param["text"])}
Afterreversing:
${function:
reverse(param["text"])}
Aftercountingvowels:
thereare${function:
numVowels(param["text"])}vowels.
Afterexchanging:
${function:
caps(param["text"])}
Afterjudging:
thetextweatherispalinDrome?
${function:
palinDrome(param["text"])}
三.思考题
1.简述JSP表达式语言的主要功能有哪些?
2.简述在JSP页面中使用Java函数的步骤。
源代码:
1:
(1):
input.jsp
<%@pagecontentType="text/html;charset=gb2312"%>
请输入雇员信息:
雇员号: | |
雇员名: | |
公司名: |
(2):
EmployeeServlet.servlet
packagecom.control;
importjava.io.*;
importjavax.servlet.*;
importjavax.servlet.h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Servlets Jsp 实验10表达式语言EL的使用 实验 10 表达式 语言 EL 使用
![提示](https://static.bingdoc.com/images/bang_tan.gif)