JSP第五篇【JSTL的介绍、core标签库、fn方法库、fmt标签库】(修订版)(二)

简介: 笔记

`c:forEach`


14.png

forEach为循环标签,相当于Java中的while和for

  • 之前我们在使用EL表达式获取到集合的数据,遍历集合都是用scriptlet代码循环,现在我们学了forEach标签就可以舍弃scriptlet代码了。
  • 向Session中设置属性,属性的类型是List集合
<%
    List list = new ArrayList<>();
    list.add("zhongfucheng");
    list.add("ouzicheng");
    list.add("xiaoming");
    session.setAttribute("list", list);
%>
  • 遍历session属性中的List集合,items:即将要迭代的集合。var:当前迭代到的元素
<c:forEach  var="list" items="${list}" >
    ${list}<br>
</c:forEach>
  • 效果:

15.png

  • 遍历Map对象有稍微地不一样,我们来看一下,var属性保存的不是每个迭代的对象,而是Map.Entry。
<%
    Map map = new HashMap();
    map.put("1", "zhongfucheng");
    map.put("2", "xiaohong");
    map.put("3", "xiaoming");
    session.setAttribute("map",map);
%>
<c:forEach  var="me" items="${map}" >
    ${me.key}  ${me.value}<br>
</c:forEach>

16.png

  • begin默认从0开始、end默认为集合的最后一个元素、step默认为1
  • varStatus代表着当前对象被迭代的信息,它有以下的属性
  • index【返回当前是第几个对象,从0开始计数】
  • count【已经遍历多少个对象了,从1开始计数】
  • first【是否是第一个】
  • last【是否是最后一个】
  • current【当前被迭代的对象】
  • begin【开始的位置】
  • end【最后的位置】
  • step【步长】
<c:forEach  var="list" items="${list}" varStatus="varStatus" >
    ${list}您的下标是:${varStatus.index}<br>
</c:forEach>
  • 效果:

17.png



`c:forTokens`


该标签类似于String类的split()和for循环的一种集合

它与forEach标签非常相似,都有begin、end、step、items、var、varStatus属性,不同的是forTokens标签的items属性里面是字符串,这个字符串会被delims属性的内容分割成多个字符串!

<c:forTokens items="zhongfucheng,ouzicheng,xiaoming,xiaohong" var="name" delims="," >
    ${name}
</c:forTokens>
  • 效果图:

18.png



`c:import`


import标签类似于JSP行为<jsp:include/>和JSP指令<%include>

import标签的属性:

  1. url【指定要包含的路径,Internet所有的url都可以】
  2. context【访问同一个web容器的其他资源,以"/"开头】
  3. var【保存导入的文件的内容,以String类型存储】
  4. socpe【保存的范围,默认是page】
  5. charEncoding【字符编码】
  6. varReader【保存导入文件的内容,以Reader类型存储】

当然了,import标签功能更加更大!强大在哪里呢?import标签可以引入Internet网页上的内容,也就是说,csdn也可以引入进来!

  • 我们来用一下把!
<c:import url="http://www.csdn.net" charEncoding="UTF-8" />
  • 我们一看,是没有样式的

19.png

  • 打印csdn的源代码
<c:import url="http://www.csdn.net" charEncoding="UTF-8" var="net"/>
CSDN的源码是:<br><br><br><br><br>
<c:out value="${net}" escapeXml="true"></c:out>
  • 效果:

20.jpg



`c:param`


  • 在JSP页面进行URL的相关操作时,经常要在URL地址后面附加一些参数。标签可以嵌套在、或标签内,为这些标签所使用的URL地址附加参数。
  • 标签在为一个URL地址附加参数时,将自动对参数值进行URL编码,例如,如果传递的参数值为“中国”,则将其转换为“%d6%d0%b9%fa”后再附加到URL地址后面,这也就是使用标签的最大好处


`c:url`


url标签十分实用!在浏览器禁用Cookie的时候,我们之前学Servlet时解决办法是:response.encodeURL()。url标签也可以实现这样的功能,再配合param标签使用,就十分实用了!

21.png

  • 我们配合param标签来使用一下吧
<c:url value="2.jsp" var="url">
    <c:param name="name" value="中国!">
    </c:param>
</c:url>
<a href="${url}">我经过了URL地址重写!</a>
  • 效果:

22.png




`c:redirect`


redirect标签用于实现Redirect功能,当然了,此标签也能够配合param标签使用!

23.png

  • 简单使用一下,重定向到2.jsp,带了一个参数
<c:redirect url="2.jsp" >
    <c:param name="name" value="zhongfucheng">
    </c:param>
</c:redirect>
  • 在2.jsp中获取到参数

24.png



fmt标签库


fmt标签库也叫做国际化标签库。这里就不详细说明了,等我讲到Web 国际化的时候才讲吧!

目录
相关文章
|
5月前
|
SQL XML Java
JSP 教程 之 JSP 标准标签库(JSTL) 4
**JSP的JSTL是用于简化Web开发的标签库,包括核心、格式化、SQL、XML和函数5个部分。SQL标签库允许与数据库交互,如设定数据源、执行查询和更新,以及处理参数。例如, `&lt;sql:setDataSource&gt;` 定义数据源, `&lt;sql:query&gt;` 执行查询。通过使用JSTL,开发者能更整洁地处理JSP页面。**
50 8
|
5月前
|
XML SQL Java
JSP 教程 之 JSP 标准标签库(JSTL) 5
JSP的JSTL是用于简化JSP开发的标签库,包括核心、格式化、SQL、XML和函数五大标签集。XML标签库处理XML文档,如`&lt;x:out&gt;`显示XML数据,`&lt;x:parse&gt;`解析XML,`&lt;x:forEach&gt;`遍历节点。使用前需添加XercesImpl.jar和xalan.jar到Tomcat的lib目录。
40 6
|
5月前
|
XML SQL Java
JSP 教程 之 JSP 标准标签库(JSTL) 6
**JSP JSTL 摘要:** JSTL是JSP的标签库,包含核心、格式化、SQL、XML和函数5类标签。它用于执行常见任务,如迭代、条件判断和XML操作。JSTL函数库提供字符串处理函数,如`contains()`, `endsWith()`, `escapeXml()`等,方便XML和HTML处理。通过`&lt;%@ taglib %&gt;`导入,如`fn:trim()`用于去除字符串两端空白。
39 5
|
1月前
|
Java 容器
【学习笔记】Jsp与Servlet技术
【学习笔记】Jsp与Servlet技术
69 0
|
3月前
|
SQL Java 数据库
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
该博客文章介绍了在JSP应用中使用Servlet查询SQL Server数据库的表信息,并通过JavaBean封装图书信息,将查询结果展示在Web页面上的方法。
jsp中使用Servlet查询SQLSERVER数据库中的表的信息,并且打印在屏幕上
|
3月前
|
供应链 前端开发 Java
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
这篇文章通过一个服装库存管理系统的实例,展示了在Spring Boot项目中使用Ajax、JSON、layui、MVC架构和iframe等技术,涵盖了注册登录、权限管理、用户管理、库存管理等功能,并提供了系统运行环境和技术要求的详细说明。
JSP+servlet+mybatis+layui服装库存管理系统(大三上学期课程设计)
|
3月前
|
前端开发 安全 Java
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
在Java服务器端开发的浩瀚宇宙中,Servlet与JSP犹如两颗璀璨的明星,它们联袂登场,共同编织出动态网站的绚丽篇章。
29 0
|
5月前
|
自然语言处理 前端开发 Java
Servlet与JSP:Java Web开发的基石技术详解
【6月更文挑战第23天】Java Web的Servlet与JSP是动态网页的核心。Servlet是服务器端的Java应用,处理HTTP请求并响应;JSP则是结合HTML与Java代码的页面,用于动态内容生成。Servlet通过生命周期方法如`init()`、`service()`和`destroy()`工作,而JSP在执行时编译成Servlet。两者在MVC架构中分工,Servlet处理逻辑,JSP展示数据。尽管有Spring MVC等框架,Servlet和JSP仍是理解Web开发基础的关键。
105 12
|
5月前
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
【6月更文挑战第23天】构建Java Web应用,Servlet与JSP携手打造在线图书管理系统,涵盖需求分析、设计、编码到测试。通过实例展示了Servlet如何处理用户登录(如`LoginServlet`),JSP负责页面展示(如`login.jsp`和`bookList.jsp`)。应用基于MySQL数据库,包含用户和图书表。登录失败显示错误信息,成功后展示图书列表。部署到Tomcat服务器测试功能。此基础教程为深入Java Web开发奠定了基础。
110 10
|
5月前
|
缓存 小程序 前端开发
Java服务器端技术探秘:Servlet与JSP的核心原理
【6月更文挑战第23天】Java Web开发中的Servlet和JSP详解:Servlet是服务器端的Java小程序,处理HTTP请求并响应。生命周期含初始化、服务和销毁。创建Servlet示例代码展示了`doGet()`方法的覆盖。JSP则侧重视图,动态HTML生成,通过JSP脚本元素、声明和表达式嵌入Java代码。Servlet常作为控制器,JSP处理视图,遵循MVC模式。优化策略涉及缓存、分页和安全措施。这些技术是Java服务器端开发的基础。
61 9