jsp学习

合集下载

jsp心得体会

jsp心得体会

jsp心得体会JSP(Java Server Pages)是一种用于动态生成HTML、XML等文档的服务器端技术。

通过嵌套在HTML中的Java代码,可以动态地生成包含变量、控制流语句和数据库交互的网页。

在学习JSP的过程中,我收获了很多,并对这门技术有了更深入的了解和体会。

首先,学习JSP让我深入了解了Web开发的基本原理。

在传统的Web开发中,前端负责展示页面,后端负责处理业务逻辑和数据交互。

而JSP作为后端技术,通过嵌套在HTML页面中的Java代码,实现了动态生成页面的功能。

这让我明白了前后端分离的重要性和优势,以及后端如何与前端进行交互,实现动态网页的生成。

其次,JSP让我学会了如何处理客户请求和生成响应。

通过使用JSP内置的对象(如request、response、session等),我可以获取和传递客户端的数据,处理表单提交、验证用户输入等操作。

与此同时,我还学会了如何生成响应,将动态生成的内容回传给客户端。

这不仅提高了用户体验,还使得后端和前端的交流更加高效。

另外,学习JSP也让我掌握了数据库交互的技巧。

通过使用JDBC(Java Database Connectivity)技术,我可以连接数据库,进行数据的增删改查操作。

这对于许多实际项目来说至关重要,因为数据的存储和管理是业务处理的基础。

学习JSP让我了解了如何执行SQL语句、处理结果集,并与前端进行数据交互,实现数据的展示和修改。

此外,JSP还提供了大量的标签库和函数库,可以帮助我更加方便地开发和维护网页。

比如,通过使用标签库,我可以将重复的代码抽象为标签,减少重复劳动,并提高代码的可读性。

而函数库则提供了各种常用的函数,如日期格式化、字符串处理等,可以更加高效地编写代码。

在学习JSP的过程中,我也遇到了一些挑战和问题。

首先,JSP的语法相对复杂,需要熟悉Java的基本语法和Web开发的相关知识,才能更好地理解和运用。

其次,JSP代码嵌套在HTML中,对于大型项目来说,代码的可维护性和可读性可能会受到影响。

jsp课程设计

jsp课程设计

jsp课程设计一、课程目标知识目标:1. 理解JSP(Java Server Pages)的基础知识,掌握其基本语法和结构。

2. 学会使用JSP内置对象,如request、response、session等,并能应用于实际项目中。

3. 掌握JSP与JavaBean、Servlet的交互方法,了解MVC设计模式在JSP中的应用。

4. 了解JSP的数据库连接技术,掌握JDBC的使用,能够实现基本的数据库操作。

技能目标:1. 能够运用JSP技术开发简单的动态网页,实现用户与网站的交互。

2. 培养学生分析问题、解决问题的能力,使其能够根据项目需求设计合理的JSP页面。

3. 提高学生的编程实践能力,通过编写JSP代码,实现功能模块的搭建。

情感态度价值观目标:1. 培养学生对JSP编程的兴趣和热情,激发他们主动探索的精神。

2. 培养学生良好的编程习惯,注重代码的规范性和可读性。

3. 培养学生的团队协作意识,使其在项目开发中能够与他人有效沟通,共同完成任务。

分析课程性质、学生特点和教学要求:1. 本课程为计算机专业或相关专业的学科,要求学生具备一定的Java基础。

2. 学生为高中年级,具有较强的逻辑思维能力,但实践经验不足。

3. 教学要求注重理论与实践相结合,强调学生的动手实践能力。

二、教学内容1. JSP基础语法与结构- JSP页面基本结构- JSP脚本元素- JSP指令与动作元素- JSP内置对象介绍2. JSP内置对象与应用- request对象的使用- response对象的使用- session对象的使用- application对象的使用- 其他内置对象(如out、page、config等)3. JSP与JavaBean、Servlet的交互- JavaBean的概念及使用- Servlet的生命周期与基本方法- JSP、JavaBean、Servlet之间的数据传递与调用4. MVC设计模式在JSP中的应用- MVC模式的概念与作用- JSP中实现MVC模式的方法- 案例分析与实践5. JSP数据库连接与操作- JDBC基本概念与使用方法- 数据库连接池技术- 常用数据库操作(查询、插入、更新、删除)- JSP与数据库的综合应用案例教学内容安排与进度:1. JSP基础语法与结构(2课时)2. JSP内置对象与应用(3课时)3. JSP与JavaBean、Servlet的交互(4课时)4. MVC设计模式在JSP中的应用(3课时)5. JSP数据库连接与操作(4课时)教材章节关联:1. JSP基础语法与结构(教材第1章)2. JSP内置对象与应用(教材第2章)3. JSP与JavaBean、Servlet的交互(教材第3章)4. MVC设计模式在JSP中的应用(教材第4章)5. JSP数据库连接与操作(教材第5章)三、教学方法1. 讲授法:- 对于JSP的基础知识、语法和内置对象等理论性较强的内容,采用讲授法进行教学。

《JSP教程JSP语法》课件

《JSP教程JSP语法》课件

JSP优点
• 简单易学,与HTML结合紧密 • 快速开发,可重用的组件 • 强大的数据处理能力 • 利用Java生态系统,拥有丰富的类库
JSP语法基础
• JSP文件结构 • 标记和指令 • 变量声明和赋值 • 表达式和脚本片段
JSP注释
JSP注释用于向开发者提供有关代码的说明和解释,增加代码可读性和维护性。
JSP的安全性问题
介绍JSP开发中的常见安全问题,并提供相应的防范措施,确保网页的安全性。
输出文本
使用JSP可以将文本内容输出到客户端浏览器上,实现动态网页的生成。
输出HTML标记
除了输出纯文本,JSP还可以输出HTML标记,使网页更加丰富和交互。
声明变量
在JSP中,可以声明和使用变量,方便存储和操作数据。
引入JAVA类
JSP可以通过引入Java类的方式,使用Java的功能和类库,增强网页的处理能力。
条件语句
使用条件语句,可以根据条件判断执行不同的代码块,实现网页的不同展示效果。
ห้องสมุดไป่ตู้
循环语句
循环语句可以重复执行特定的代码块,适用于展示数据列表、遍历集合等场景。
跳转语句
通过跳转语句,可以实现页面间的跳转和传递数据,提供更好的用户体验。
JSP表达式
JSP表达式可以在网页中嵌入动态的Java代码和变量,实现动态的数据展示和计算。
JSP脚本片段
通过JSP脚本片段,可以编写更复杂的Java代码,实现业务逻辑和数据处理。
JSP内置对象
JSP提供了一些内置的对象,如request、response、session等,方便在网页中访问和操作数据。
JSP中的EL表达式
EL(Expression Language)是一种用于简化表达式和变量操作的语法,提高JSP代码的可读性。

JSP入门教程(1)

JSP入门教程(1)

JSP入门教程(1)你需要Java2软件开发工具箱(J2SDK),过去称之为Java开发工具箱(JDK)、JavaSe rver 网络开发工具箱(JSWDK)、Tomcat,或者其它能支持JSP的Web服务器。

升阳公司为Windows、Solaris以及Linux平台提供免费的J2SDK和JSWDK。

如果你想在现有的Web服务器上使用JSP,而此服务器本身不支持JSP和Java 代码片段,可以试用Allaire公司的Jrun。

它可以为Netscape的Enterprise Server和Fasttrack Se rver、微软的Internet Information Server(IIS)和Personal Web Server(PWS)、Apache以及其他服务器充当Web服务器附件。

你也可以使用Apache服务器的Java版,其中包含最新的JSWDK。

下载并安装所需的软件目前,版本号为1.2.2-001的J2SDK可下载版以可安装的归档文件形式出现。

这个大约20 MB的下载量软件可提供一个彻底的Java开发环境,让你创造任何基于Java并且利用了而标准核心API的解决方案。

其实,你的Web服务器使用JSP的唯一条件是要有Java编辑器。

要让Web服务器知道编辑器的位置,需要JAVA_HOME 环境变量设置为J2SDK安装目录。

如果你已经在Windows系统中进行了安装并且接受了默认目录,请将“set JAVA _HOME=C:1.2.2”添加到你的“autoexec.bat”文件中,然后重新启动。

安装J2SDK后,下载并安装JSWDK或者是Tomcat β版,即基于Java的Apache Web 服务器的β版。

你把JSWDK放在什么地方是无关紧要的,只要你以后能找到它就行。

通常,将其放在顶层目录中,这样你在替换JSWDK或JSDK时无需删除另一个软件。

安装好这个文件后,准备工作已经就绪,你可以开始JSP开发工作了。

jsp实验总结

jsp实验总结

JSP实验总结引言本文档旨在总结和归纳我在JSP实验中的学习经验和心得体会。

在本次实验中,我使用JSP(Java Server Pages)技术开发了一个简单的Web应用程序,通过这个过程,我对JSP的基本概念、工作原理以及与Java的交互有了更深入的理解。

实验背景JSP是一种服务器端的动态网页技术,可以将java代码嵌入到HTML页面中,实现动态生成网页内容的功能。

通过使用JSP,我们可以将视图层的逻辑与业务逻辑分离,提高了代码的可维护性和代码重用性。

实验步骤1. 环境准备在开始实验之前,我先安装了JDK(Java Development Kit)和Tomcat服务器。

JDK是Java开发工具包,它包含了编译Java源代码的编译器和Java虚拟机。

Tomcat是一个开源的Java Servlet容器,用于运行和管理JSP应用程序。

2. 创建JSP页面在我的实验中,我创建了一个名为index.jsp的JSP页面作为我的主页。

我使用了HTML、CSS和JSP标记语言来设计和构建页面布局。

<!DOCTYPE html><html><head><title>My JSP Page</title><style>body {font-family: Arial, sans-serif;margin: 0;padding: 20px;text-align: center;}h1 {color: #1E90FF;margin-top: 100px;}p {color: #808080;}</style></head><body><h1>Welcome to my JSP page!</h1><p>Today's date and time is <%= new java.util.Date() %>.</p></body></html>在页面的header部分,我设置了标题和一些基本的样式。

第2章 JSP语法基础 2.3 JSP指令元素、2.4 JSP动作元素

第2章 JSP语法基础 2.3 JSP指令元素、2.4 JSP动作元素
JSP开发案例教程
第2章 JSP语法基础
2.3 JSP指令元素 2.4 JSP动作元素
JSP开发案例教程
本章内容
01 脚本元素 03 JSP指令元素
02 案例ch2.2_datetime: 时间格式化
04 JSP动作元素
05 案例ch2.5_include: 框架类型网页
06 小结与练习
2.3 JSP指令元素
指定在当前页
4
session
中是否允许 10 isThreadSafe 指定是否线程安全
session操作
5
buffer
指定处理页面 输出内容时的 11 缓冲区大小
autoFlush
是定当缓冲区满时是 否自动清空
指定当前页面
说明当前页面是否为
6
errorPage 运行异常时调 12 isErrorPage 其他页面的异常处理
该JSP动作表示获取或创建一个名称为guess的、属于类com.GuessNumber的、生命周期 为session的对象,详见本书案例ch5.4_guessNumber(猜数游戏)。
JSP开发案例教程
所有的动作元素需要两个属性:
id属性
id属性是动作元素的唯一标识,可以在 JSP页面中被引用。动作元素创建的id值 可以通过PageContext来调用。
可以使用绝对或相对URL。 ✓ tagDir属性指示前缀将被用于标识在WEB-INF/tags目录下的标签文件。
2.4 JSP动作元素
JSP开发案例教程
2.4 JSP动作元素
JSP动作元素
➢ JSP动作利用XML语法格式的标记,来控制JSP容器Servlet引擎的行为。 ➢ 利用JSP动作可以动态地插入文件、重用JavaBean组件、把用户重定向到另外的页面、为Java插件

Java相关课程系列笔记之10JSP学习笔记(建议用WPS打开)

Java相关课程系列笔记之10JSP学习笔记(建议用WPS打开)

JSP学习笔记Java相关课程系列笔记之十笔记内容说明JSP(程祖红老师主讲,占笔记内容100%);目录一、JSP基础 (1)1.1什么是JSP (1)1.2为什么要使用JSP (1)1.3 JSP与Servlet的关系 (1)1.4如何写一个JSP文件 (1)1.5 JSP是如何运行的 (1)1.6隐含对象 (2)1.7指令 (2)1.8 JSP注释 (3)1.9案例:创建emplist.jsp页面,将表示逻辑交给JSP处理 (3)二、JSP标签和EL表达式 (4)2.1什么是JSP标签 (4)2.2 JSTL及其使用 (4)2.3什么是EL表达式 (4)2.4 EL表达式的使用 (4)三、JSTL中的几个核心标签 (7)3.1 if (7)3.2 choose (7)3.3 forEach (7)3.4 url (8)3.5 set (8)3.6 remove (8)3.7 catch (8)3.8 import (8)3.9 redirect (8)3.10 out (8)3.11 JSP标签是如何运行的 (8)3.12案例:将员工列表中的Java代码改为JSP标签,并添加分页 (9)四、自定义标签 (10)4.1如何写一个自定义标签 (10)4.2 JavaEE5.0中,如何使用EL表达式和JSTL (10)4.3案例:自定义标签 (10)4.4案例:修改之前员工列表中的日期显示 (11)五、MVC (13)5.1什么是MVC (13)5.2使用MVC的目的 (13)5.3如何使用MVC来开发一个Web应用程序(JavaEE) (13)5.4 MVC的优缺点 (13)5.5案例:简易贷款(贷款数小于余额数*10) (13)5.6修改5.5案例,使用户无法直接访问view.jsp页面 (15)1一、JSP基础1.1什么是JSPJSP(Java Server Page)是Java服务器端动态页面技术。

JSP入门教程——入门到精通

JSP入门教程——入门到精通

JSP简介什么是Java Server Pages?JSP全称Java Server Pages,是一种动态网页开发技术。

它使用JSP标签在HTML网页中插入Java代码。

标签通常以<%开头以%>结束。

JSP是一种Java servlet,主要用于实现Java web应用程序的用户界面部分。

网页开发者们通过结合HTML代码、XHTML代码、XML元素以及嵌入JSP操作和命令来编写JSP。

JSP通过网页表单获取用户输入数据、访问数据库及其他数据源,然后动态地创建网页。

JSP标签有多种功能,比如访问数据库、记录用户选择信息、访问JavaBeans组件等,还可以在不同的网页中传递控制信息和共享信息。

为什么使用JSP?JSP程序与CGI程序有着相似的功能,但和CGI程序相比,JSP程序有如下优势:•性能更加优越,因为JSP可以直接在HTML网页中动态嵌入元素而不需要单独引用CGI文件。

•服务器调用的是已经编译好的JSP文件,而不像CGI/Perl那样必须先载入解释器和目标脚本。

•JSP基于Java Servlets API,因此,JSP拥有各种强大的企业级Java API,包括JDBC,JNDI,EJB,JAXP等等。

•JSP页面可以与处理业务逻辑的servlets一起使用,这种模式被Java servlet 模板引擎所支持。

最后,JSP是Java EE不可或缺的一部分,是一个完整的企业级应用平台。

这意味着JSP可以用最简单的方式来实现最复杂的应用。

JSP的优势以下列出了使用JSP带来的其他好处:•与ASP相比:JSP有两大优势。

首先,动态部分用Java编写,而不是VB或其他MS专用语言,所以更加强大与易用。

第二点就是JSP易于移植到非MS平台上。

•与纯Servlets相比:JSP可以很方便的编写或者修改HTML网页而不用去面对大量的println语句。

•与SSI相比:SSI无法使用表单数据、无法进行数据库链接。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

目录:Web——index.html——WEB-INF——classes(java)——lib(jar)web.xmlHttp协议:http/1.0http/1.1请求行:GET方式;POST方式;请求头:Accept:用户告诉服务器,客户机支持的数据格式。

Aceept-Charset:用于告诉服务器,客户机采用的编码。

Accept-Encoding:用户告诉服务器,客户机支持的数据压缩格式。

Accept-Language:客户机的语言环境;Host:客户机通过这个头告诉服务器,想访问的主机名。

If-Modified-Since:客户机通过这个头告诉服务器,资源的缓存时间。

Referer: 客户机通过这个头告诉服务器,它是从哪个资源访问服务器的。

(从那个页面过来的)防止盗链(不是从这个网站过来的,跳到首页)User-Agent: 客户机通过这个头告诉服务器,客户机的软件环境。

Cookie:客户机通过这个头向服务器带一点数据。

Connection:Datehttp响应:响应头:Location:这个头配合302使用,找谁。

302+Location请求重定向。

Server:服务器通过这个头,告诉浏览器服务器的类型。

Content-Encoding:服务器通过这个头,数据的压缩格式。

Content-Length:服务器通过该头,告诉浏览器回送数据的长度。

Content-Type: 服务器通过该头,告诉浏览器回送数据的类型。

Last-Modified:服务器通过这个头,告诉浏览器当前资源缓存时间。

Refresh:服务通过这个头,告诉浏览器多长时间刷新下。

(聊天室,论坛登录)Content-Desposition:服务器通过这个头,告诉浏览器以下载方式打开数据。

Transfer-Encoding:服务器通过这个头,告诉浏览器数据的传递格式。

ETag:缓存相关的头Expires: 服务器通过这个头,告诉浏览器把回送的资源缓存多长时间,-1或0,则是不缓存。

Cache-Control:no-cachePragma:no-cache服务器通过以上两个头,也是控制浏览器不要缓存数据。

断点下载Range请求数据伪静态:映射MVCMode——javabeanView——jspController——servletRequest.sendredirect(“/form.html”).forward(request,reponse);//服务器用;Response.sendredirect(“/test/form.html”);//浏览器用;this.getservletcontext().getrealpath(“/form.html”);this.getservletcontext().getresourceasstream(“/form.html”);浏览器<a href=””></a><form action=””></form>ResponsePrintWriter out=response.getWriter();out.write("hello world");response.getWriter().write("hello world");控制输出乱码:response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");重定向:response.sendRedirect("/test/index.jsp");刷新response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");response.setHeader("refresh", "3;url=/test/index.jsp"); response.getWriter().write("恭喜你登陆成功,本浏览器将在3秒后跳转,如果没跳转,请点击<a href=''>超链接</a>");控制浏览器缓存response.setCharacterEncoding("UTF-8");response.setContentType("text/html;charset=UTF-8");//控制浏览器缓存;response.setDateHeader("Expires",System.currentTimeMillis()+10 00*3600);String data="中国";response.getWriter().write(data);Request获取参数://get方式乱码(手工处理,超链接);String name_value=request.getParameter("username");name_value=newString(name_value.getBytes("iso8859-1"),"UTF-8");//中文乱码;request.setCharacterEncoding("UTF-8");//只对post有效; System.out.println(request.getParameter("username")); System.out.println(request.getParameter("pass"));System.out.println(request.getParameter("gender"));System.out.println(request.getParameter("city"));String likes[]=request.getParameterValues("likes");for (int i = 0; i < likes.length; i++) {System.out.println(likes[i]);}System.out.println(request.getParameter("description")); System.out.println(request.getParameter("id"));转发String data="aaa";request.setAttribute("data", data);//转发;request.getRequestDispatcher("/message.jsp").forward(request, response);防盗链:String referer=request.getHeader("referer");if(referer==null||!referer.startsWith("http://localhost")) {//actionresponse.sendRedirect("");return;}Cookie//设置Cookie;Cookie cookie=new Cookie("lastAccessTime",System.currentTimeMillis()+"");cookie.setMaxAge(1*30*24*3600);cookie.setPath("/eclipse");response.addCookie(cookie);//获取CookieCookie cookies[]=request.getCookies();for (int i = 0;cookies!=null&& i < cookies.length; i++) { if (cookies[i].getName().equals("lastAccessTime")) { Long cookievalue=Long.parseLong(cookies[i].getValue()); Date date=new Date(cookievalue);response.getWriter().write(date.toLocaleString());}}//清除cookieCookie cookie=new Cookie("lastAccessTime",System.currentTimeMillis()+"");cookie.setMaxAge(0);cookie.setPath("/eclipse");response.addCookie(cookie);response.sendRedirect("/test/");Session//设置sessionHttpSession session=request.getSession();session.setAttribute("name", "洗衣机");//获取SessionHttpSession session=request.getSession();String product=(String)session.getAttribute("name");//销毁Sessionsession.invalidate();session.removeAttribute("name");//表单重复提交js(君子,小人)var iscommitted=false;function dosubmit(){If(!iscommitted){Iscommitted=true;Reture true;}else{return false;}}设置按钮不可用;后台;JSP访问jsp其实是调用servletRequestResponseSessionApplication<%@include file="/public/head.jsp" %>先包含再翻译,把所有jsp翻译成一个servlet<%request.getRequestDispatcher("/public/foot.jsp").include(reque st,response);%>动态包含,先翻译再包含Page指令include指令静态包含(静态页面)<%@include file="/public/head.jsp" %> //形成一个文件再编译;Jsp动作元素<jsp:include>动态包含<jsp:include page="/public/head.jsp"></jsp:include><jsp:param><jsp:include page="/public/head.jsp"><jsp:param value="tomcat"name="name"/></jsp:include>head.jsp<%out.println("hello worlds<br/>");String name=request.getParameter("name");out.println(name);%><jsp:forward><jsp:forward page="forward.jsp"></jsp:forward><jsp:useBean><jsp:useBean id="person"class="com.vince.bean.Person"></jsp:useBean><%--设置对象的属性值--%><jsp:setProperty property="name"name="person"value="小白"/> <jsp:setProperty property="age"name="person"value="18"/> <%--获取对象的属性值 --%><jsp:getProperty property="name"name="person"/><jsp:getProperty property="age"name="person"/>内置对象out.println();out.print();out.write();requestrequest.getParamater(key);request.getParameterValues(key);//获取一组数据;request.getRequestDispatcher(“list.jsp”).forward(request,response); request.setAttribute(key,value);request.getAttribute(key);request.setChracterEncoding(“UTF-8”);//只能设置post;String[] likes=request.getParameterValues(key);//获取一组数据;request.setAttribute(key,value);//转发的时候带一些数据过去;request.getAttribute(key);//获取;request.getContextPath();//获取根路径;responseresponse.sendRedirect(“页面”);response.setCharacterEncoding(“UTF-8”);response.setCharacterEncoding(“UTF-8”);//设置响应编码;response.setContentType(“text/html;charset=UTF-8”);//设置内容类型;sessionsession.setAttribute(“name”, username);//将用户名保存到当前会话对象中;session.getAttribute(“name”);//获取session;session.setMaxInactiveInterval(1000*60*30);//30分钟;session.invalidate();//设置session初始化;(系统退出)pageContext上下文对象;application公共的;application.setAttribute("count", num);application.getAttribute("count");configpageexception表单传值get:显示请求方式,速度快,安全性低,请求数据不能超过4KB;post:隐式请求方式;request.setChracterEncoding (“UTF-8”);get方式:方式一:String name=new String(name.getBytes("iso-8859-1"),"UTF-8");//后台;方式二:function login(){var loginform=documnet.forms["loginform"];.value=encodeURI(.value);loginform.submit();}//onsubmit函数;String name=URLDecoder.decode(name,"UTF-8");//后台获取;隐藏域Cookie//设置CookieCookie nameCookie=new Cookie("username",name); nameCookie.setMaxAge(60*60*24*3);//三天;Cookie pwdCookie=new Cookie("password",pwd);pwdCookie.setMaxAge(60*60*24*3);response.addCookie(nameCookie);response.addCookie(pwdCookie);//获取CookieCookie[] cookies=request.getCookies();for(int i=0;i<cookies.length;i++){if("username".equals(cookies[i].getName())){username=cookies[i].getValue();}if("password".equals(cookies[i].getName())){password=cookies[i].getValue();}}EL表达式${er}${erbean.sex}${erbean[“sex”]}EL隐含对象pageContextpageScoperequestScopesessionScopeapplicationScopeparamparamValuesheaderheaderValuescookieinitParamJSTL标签核心标签库<c:out>//输出;<c:set>//定义变量;<c:if>//if<c:choose>//when<c:if test="${not empty }">欢迎你,<c:out value="${}"></c:out> </c:if><c:if test="${empty }">登录</c:if><c:set var="age"value="18"></c:set><c:choose><c:when test="${age<18}">未成年</c:when><c:when test="${age>=18&&age<30}">欢迎光临</c:when><c:otherwise>老年人注意身体</c:otherwise></c:choose>//遍历<c:forEach items="${ers}"var="user"> ${}${user.age}</c:forEach><!--varStatus状态index 索引从0开始count 从1开始当前遍历次数current 当前正在迭代的first 是否第一个last 是否最后一个--><c:forEach begin="0"varStatus="status"end="10" items="${ers}"var="user">${}${user.age}${status.index}${status.count}${status.current}${status.first}${st}</c:forEach><c:set var="likes"value="xiaoqiu,libai"></c:set>//切分<c:forTokens items="${likes}"delims=","var="val"> ${val}</c:forTokens>Servlet。

相关文档
最新文档