JSTL-1
JSTL的配置和使用:
* 配置:将jstl.jar和standard.jar拷贝到WEB-INF/lib下
* 使用:要采用一些指令:采用taglib指令
JSTL标准标签库(JSP Standard Tag Library, JSTL)
JSTL是Apache的东西,依赖于EL,EL是输出表达式
JSTL有四个类库
*core:核心库,这个是重点
*fmt:用户格式化,日期,数字
*sql:过时了
*xml:过时了
在jsp页面中:<%@taglib prefix="前缀" uri="路径"%>
JSTL 的核心标签库标签共13个,使用这些标签能够完成JSP页面的基本功能,
从功能上可以分为4类:
1.表达式控制标签:out 标签, set标签, remove标签, catch标签
2.流程控制标签:if标签, choose标签, when标签, otherwise标签
3.循环标签:forEach标签, forTokens标签
4.URL操作标签:import标签, URL标签, redirect标签, param标签
表达式标签:
<c:out>:标签主要是用来输出数据对象(字符串,表达式)的内容和结果
在Java中脚本输出是常使用的方式为<%out.println("字符串")%>或者<%=表达式%>
用out的标签是<c:out value="字符串"> 或者 <c:out value="EL表达式">
Hello(JSTL中设置缺省值(默认值defalut)并且把缺省值放在属性里面了):<c:out value="${hello123 }" default="没有值"></c:out><br>
Hello(JSTL中设置缺省值(默认值defalut)把缺省值放在标签里面):<c:out value="${hello123 }" >没有值</c:out><br>
<c:set>设置(创建域的属性) var:变量名, value:值 Scope:域,默认值为page, 可选值page, request, session, application
*<c:set var="a" value="hello"/> 创建名为a, 值为hello的域属性, 范围page
*<c:set var="a" value="hello" scope="session"/>: 范围为session
<c:set>的4中格式:
1. <c:set value="" var="" >
2.<c:set var="">value </c:set>
3.<c:set value="" target="JavaBean对象" property="属性名"/>
4.<c:set value="" target="JavaBean对象" property="属性名"> value</c:ste>
注意:使用target时一定要指向实例化后的JavaBean对象,也就是要跟<jsp:userBean>配置使用
使用的目标对象是${person}
<c:set target="${person}" property="name">孤傲苍狼</c:set>
<c:remove>:标签
*<remove>:删除域变量
var :变量名
scope:如果不给出scope,表示删除所有域中的该名称的变量,如果指定了域,那么只删除该域的变量
<c:catch>catch 异常
<c:catch [var="变量名"] > nested actions</c:catch>
这里的catch就相当于try catch
在jsp中捕获异常
<%
try {
Integer.parseInt("sfaeaf"):
} catch (Exception e) {
e.printStackTrace();
out.println(e.getMessage());//打印异常信息
}
%>
var 是变量名,是把异常信息放到var变量名里,然后输出来
<c:catch var="msf">
<%
Integer.parseInt(“sjf”);
%>
</c:catch>
${msf}
最新文章
- [No000098]SVN学习笔记5-分支,合并,属性,补丁,锁,分支图
- js写的闹钟,支持多个闹钟
- js加解密
- Ubuntu Desktop开发生产环境搭建
- JavaScript练习之for循环语句
- iNeedle产品介绍
- display : -webkit-box-inline 我见
- java代码和spring框架读取xml和properties文件
- 使用Entity Framework 自动产生的Sql语句
- java 14 -1 正则表达式
- 简述C#中关键字var和dynamic的区别
- linux下sublime配置c++11编译环境
- 本博客不再更新,欢迎访问本人托管在GitHub上的博客:www.wshunli.com
- cxx-generator JS绑定工具
- linux和MAC下静态库.a文件合并
- python运维开发之第十一天(RabbitMQ,redis)
- UI界面
- 【项目笔记】布局文件报错Suspicious size: this will make the view invisible, probably intended for layout_width
- Centos7 安装python3
- Python05(运算符)
热门文章
- bzoj 1367: [Baltic2004]sequence
- <;LC刷题一>;相加为0的数之leetcode1&;2&;15&;16
- 51nod1471 小S的兴趣
- 面试整理(2)跨域:jsonp与CORS
- Discrete Logging(POJ2417 + BSGS)
- ASP.NET EF 使用LinqPad 快速学习Linq
- E - Is It A Tree? 并查集判断是否为树
- windows安装linux虚拟机、修改apt源
- Shell-免键盘输入
- linux initcall 介绍 (转自http://blog.csdn.net/fenzhikeji/article/details/6860143)