实验九 EL表达式和JSTL标签库的使用.docx
- 文档编号:11941123
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:25
- 大小:209.50KB
实验九 EL表达式和JSTL标签库的使用.docx
《实验九 EL表达式和JSTL标签库的使用.docx》由会员分享,可在线阅读,更多相关《实验九 EL表达式和JSTL标签库的使用.docx(25页珍藏版)》请在冰豆网上搜索。
实验九EL表达式和JSTL标签库的使用
实验名称:
EL表达式和JSTL标签库的使用
时间:
2019-2020第2学期
实验9EL表达式和JSTL标签库的使用
1实验目的
1)了解表达式语言的功能;
2)熟悉JSTL标签库的基本使用方法;
3)掌握表达式语言的使用;
4)掌握JSTL的核心库标签的使用;
5)掌握标签文件的开发和使用。
2实验原理
表达式语言(EL)是JSP2.0新增的功能。
它是一种简洁的数据访问语言,通过它可以在JSP页面中方便地访问应用程序数据,无需使用JSP表达式(<%=和%>)。
EL的目标是使动态网页的设计、开发和维护更加容易。
JSP标准标签库(JSPStandardTagLibrary,简称JSTL)是一个为实现Web应用程序的常用功能而开发的标签库集合。
3仪器与材料
安装有Windows7或以上操作系统的计算机,JDK1.8,MyEclipse2016,Tomcat7.0,Dreamweaver。
4实验内容
4.1使用表达式语言
EL的特点是访问数据可以使用点(.)运算符或方括号([])运算符;可以访问隐含对象;有自己的运算符构造表达式;可以使用Java语言编写的函数等。
操作步骤如下:
1.创建一个Webproject:
TestEL,
2.在WebRoot文件夹中创建一个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}
3.在Src文件夹中创建一个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】在WebRoot目录下编写Employee.jsp页面,在其中通过表单输入雇员信息,将请求转发到一个Servlet。
<%@pagecontentType="text/html;charset=gb2312"%>
请输入雇员信息:
雇员号: | |
雇员名: | |
公司名: |
【步骤3】在Src目录下建立EmployeeServlet,该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】在WebRoot目录下编写displayEmployee.jsp页面,该JSP页面使用EL表达式显示用户的信息
<%@pagecontentType="text/html;charset=gb2312"%>
雇员的信息如下:
- 雇员号:
${employee.eno}
- 雇员名:
${employee.ename}
- 公司名:
${employee.ecompany}
4.在WebRoot文件夹中创建一个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"]}
5.在JSP页面中使用Java函数:
如要在JSP页面中使用一个add()函数,实现两个整数的加法运算,要经过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;
}
}
packagebeans;
importjava.util.*;
publicclassFunctions{
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(); } } 【步骤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"])}
该页面运行结果为:
6.编写一个名为palindrome(Stringstr)的函数,实现判断用户输入的字符串是否是回文(palindrome)。
编写JSP页面,通过EL使用该函数。
代码如下
publicstaticbooleanpalindrome(Stringstr){
StringBuffersb=newStringBuffer(str);
if((sb.reverse().toString()).equals(str)){
returntrue;
}else{
returnfalse;
}
}
4.2JSTL标签库的使用
JSP标准标签库(JSPStandardTagLibrary,简称JSTL)的功能包括基本输入输出、流程控制、XML文件解析、数据库查询、国际化和文本格式化等。
JSTL主要由下面几个库组成:
核心标签库;XML标签库;格式化/国际化标签库;数据库标签库;函数标签库。
这些库都很有用,但我们这里只学习核心库的使用。
核心库的标签又可以分成四类,如下表所示:
表按功能分类的核心库的标签
JSTL标签类别
JSTL标签
标签说明
通用目的
out> catch> 在页面中显示内容 捕获异常 变量支持 set> remove> 设置一个EL变量值 清除一个EL变量 流程控制 if> choose> forEach> forTokens> 根据一个属性等于一个值改变处理 根据一个属性等于一组值改变处理 对集合中的每个对象作重复处理 对给定一个文本域中的每个子串执行处理 URL处理 url> import> redirect> 重写URL并对它们的参数编码 访问web应用程序外部的内容 告诉客户浏览器访问另一个URL 标签文件(tagfile)也是JSP2.0新增的功能,它的目的是使JSP页面开发人员仅使用JSP语法就能开发标签库而无须编写Java程序。 所谓标签文件就是直接使用JSP语法编写的标签。 标签文件的扩展名一般为.tag或.tagx,如果标签文件包含其他完整的或片段的标签文件,JSP2.0建议其扩展名为.tagf。 在JSP页面中使用标签文件,需要在taglib动作中使用tagdir属性指定标签文件所在的目录,例如: <%@taglibprefix="mytag"tagdir="/WEB-INF/tags"%> 1.JSTL的安装和测试: 【步骤1】要在JSP页面中使用JSTL标签,首先必须安装JSTL库。 可以到Jakarta网站下载最新版本的JSTL,网址为http: //jakarta.apache.org/,下载版本1.1.2版,它支持JSP2.0和Servlet2.4。 也可以在Tomcat的示例应用程序中获得JSTL,它位于 jstl.jar和standard.jar。 将这两个文件复制到Web应用程序的WEB-INF\lib目录中,完成安装了JSTL。 【步骤2】一个简单的测试JSP页面jstl_test.jsp <%@pagecontentType="text/html;charset=gb2312"%> <%@tagliburi="prefix="c"%> outvalue="WelcometousingJSTL"/> RequestMethod: ${pageContext.request.method} RemoteAddress: ${pageContext.request.remoteAddr} 如果运行页面显示下面结果,说明JSTL安装正确,可以使用。 说明: 使用JSTL不用建立标签库描述文件,因为该文件已经包含在standard.jar文件中了,JSP容器可以找到该文件。 另外,也可以不用配置web.xml文件,因为JSP容器使用隐含映射的方式可以将标准的URI映射到适当的标签库上。 2.表达式相关标签的使用 下面的core_expression.jsp演示了 out>、 set>和 remove>标签的使用,代码如下 <%@pagecontentType="text/html;charset=GB2312"%> <%@taglibprefix="c"uri="%> outvalue=" out> set> remove>"使用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验九 EL表达式和JSTL标签库的使用 实验 EL 表达式 JSTL 标签 使用
![提示](https://static.bdocx.com/images/bang_tan.gif)