JSP标签教程:C、SQL与Fmt的使用解析
5星 · 超过95%的资源 需积分: 9 5 浏览量
更新于2024-09-12
收藏 6KB TXT 举报
本文主要介绍了在Java JSP中如何使用`<c:`、`<sql:`和`<fmt:`标签,特别适合初学者学习。这些标签是Java Server Pages Standard Tag Library (JSTL)的一部分,用于增强JSP页面的可读性和可维护性。
在开始之前,确保引入了必要的JAR文件,如`jstl.jar`和`standard.jar`到项目类路径中。接下来,通过在JSP页面顶部添加以下声明来引入`<c:`标签库:
```jsp
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
```
1. `<c:set>`标签:这个标签用于设置变量。例如,以下代码将“username”变量设置为“lisi”,并将其作用域限定在session范围内:
```jsp
<c:set var="username" value="lisi" scope="session"/>
```
这样,可以在session范围内访问名为“username”的变量,其值为“lisi”。
2. `<c:out>`标签:用于输出表达式的值。可以设置默认值和是否转义XML字符。以下示例显示session中的“username”值,如果不存在则显示“default”,并开启默认的XML转义:
```jsp
<c:out value="${sessionScope.username}" default="default" escapeXml="true"/>
```
3. `<c:remove>`标签:用于从指定作用域(如session)中移除变量。下面的代码将移除session中的“username”变量:
```jsp
<c:remove var="username" scope="session"/>
```
4. `<c:catch>`标签:用于捕获异常。当在`<c:catch>`块内发生异常时,可以通过设置一个变量来存储异常对象。以下例子展示了如何捕获并打印异常信息:
```jsp
<c:catch var="exception">
<%
int i = 5;
int j = 0;
int k = i / j; // 这将抛出ArithmeticException
%>
</c:catch>
<c:out value="${exception}"/><br>
<c:out value="${exception.message}"/>
```
5. `<c:if>`标签:用于条件判断。下面的代码检查请求参数`name`是否等于“admin”,并将结果存储在`result`变量中:
```jsp
<c:if test="${param.name == 'admin'}" var="result"/>
<c:out value="${result}"/>
```
6. `<c:choose>`、`<c:when>`和`<c:otherwise>`标签:这些标签组合在一起提供多分支选择功能,类似于Java中的switch语句。下面的示例根据`row.v_money`的值显示不同的消息:
```jsp
<c:choose>
<c:when test="${row.v_money < 10000}">
学生
</c:when>
<c:when test="${row.v_money >= 10000 && row.v_money < 20000}">
工作人员
</c:when>
<c:otherwise>
经理
</c:otherwise>
</c:choose>
```
7. `<c:forEach>`标签:用于遍历集合或数组。例如,遍历一个列表并打印每个元素:
```jsp
<c:forEach items="${list}" var="item">
${item}
</c:forEach>
```
`<c:`、`<sql:`和`<fmt:`标签是JSTL的核心组成部分,它们提供了许多方便的功能,如变量操作、条件判断、循环和异常处理等,极大地简化了JSP页面的编写。通过熟练掌握这些标签,开发者可以编写更简洁、更易于维护的JSP代码。
2021-02-06 上传
2009-11-25 上传
2010-02-22 上传
2012-08-23 上传
2011-08-19 上传
2008-03-14 上传
2009-03-14 上传
点击了解资源详情
点击了解资源详情
骑士999111
- 粉丝: 377
- 资源: 12
最新资源
- Android圆角进度条控件的设计与应用
- mui框架实现带侧边栏的响应式布局
- Android仿知乎横线直线进度条实现教程
- SSM选课系统实现:Spring+SpringMVC+MyBatis源码剖析
- 使用JavaScript开发的流星待办事项应用
- Google Code Jam 2015竞赛回顾与Java编程实践
- Angular 2与NW.js集成:通过Webpack和Gulp构建环境详解
- OneDayTripPlanner:数字化城市旅游活动规划助手
- TinySTM 轻量级原子操作库的详细介绍与安装指南
- 模拟PHP序列化:JavaScript实现序列化与反序列化技术
- ***进销存系统全面功能介绍与开发指南
- 掌握Clojure命名空间的正确重新加载技巧
- 免费获取VMD模态分解Matlab源代码与案例数据
- BuglyEasyToUnity最新更新优化:简化Unity开发者接入流程
- Android学生俱乐部项目任务2解析与实践
- 掌握Elixir语言构建高效分布式网络爬虫