jstl的一些用法
<jsp:useBean id="personBean" class="com.servlet.PersonInfo"></jsp:useBean>
<c:out value="<显示数据对象(未使用转义字符)>" escapeXml="true" default="默认值"></c:out><br/>
<c:out value="<显示数据对象(未使用转义字符)>" escapeXml="false" default="默认值"></c:out><br/>
<c:out value="${null}" escapeXml="false">使用的表达式结果为null,则输出默认值</c:out><br/>
<c:out value="${initParam.name}" escapeXml="false">使用的表达式结果为null,则输出默认值</c:out><br/>
<c:out value="${name}" escapeXml="false">使用的表达式结果为null,则输出默认值</c:out><br/>
${requestScope.name}<br/><br/> <c:set value="张三" var="name1" scope="session"></c:set>
<c:set var="name2" scope="session">李四</c:set>
<c:set value="赵五" target="${personBean}" property="name"></c:set>
<c:set target="${personBean}" property="age">19</c:set>
<span>从seesion中得到的值:${sessionScope.name1}</span><br/>
<span>从seesion中得到的值:${sessionScope.name2}</span><br/>
<span>从Bean中获取对象person的name值:<c:out value="${personBean.name}"></c:out></span><br/>
<span>从Bean中获取对象person的age值:<c:out value="${personBean.age}"></c:out></span><br/><br/> <h2>JSTL: -- forEach标签实例</h2>
<%
List<String> ls = new ArrayList<String>();
ls.add("路飞");
ls.add("索隆");
ls.add("香吉士");
ls.add("乌索普");
ls.add("娜美");
ls.add("乔巴");
ls.add("弗兰奇");
ls.add("罗宾");
ls.add("布鲁克");
request.setAttribute("ls", ls);
%>
<c:out value="不指定begin和end的迭代:"></c:out>
<c:forEach var="list" items="${ls}" >
<c:out value="${list}"></c:out>
</c:forEach><br/>
<c:out value="指定begin和end的迭代(step 指定间隔):"></c:out>
<c:forEach var="list" items="${ls}" begin="1" end="5" step="2">
<c:out value="${list}"></c:out>
</c:forEach><br/>
<c:out value="输出整个迭代信息:"></c:out>
<c:forEach var="list" items="${ls}" begin="3" end="4" step="1" varStatus="s">
<c:out value="${list}"></c:out>的四种属性<br/>
所在位置,即索引:<c:out value="${s.index}" /><br>
总共迭代的次数:<c:out value="${s.count}" /><br>
是否为第一个位置:<c:out value="${s.first}" /><br>
是否是最后一个位置:<c:out value="${s.last}" /><br>
</c:forEach><br><br>
1、第1、2两行,关键字escapeXml为设置value中的内容是否需要转义;
2、第3、4、5如果el表达式中的内容为空,则显示页面中的内容;
3、第6行,通过el表达式获取request中的数据,这里要注意,servlet中有两种页面跳转的方法,response.sendRedirect()和 config.getServletContext().getRequestDispatcher("/jstl.jsp").forward(request, response);前者传参数只能通过url的方式,后者可以将参数放在request中;
4、第8、9、12、13行,向sessionScope中设置值,并显示;
5、第10、11、14、15行,向实体类PersonInfo中设置值,并显示;
6、forEach标签实例:
items:被迭代的集合对象;
var:存放当前指到的集合对象中的成员。就是声明一个变量,这个变量就是items;
varStatus:存放当前指到的成员的相关信息。(index:当前指到的成员的索引;count:当前总共指到成员的总数;first:当前指到的成员 是否为第一个成员;last:当前 指到的成员是否为最后一个成员)。
begin:迭代开始的位置,默认为0。
end:迭代结束的位置,默认为最后。
step:每次迭代的间隔数,默认为1。
执行结果为:
set 标签的属性: value(Object),要创建的字符串,或要引用的限域对象,或新的属性值;
var(String),要创建的限域变量,就是声明一个变量的意思;
scope(String),新建限域对象的范围;
target(Object),其属性要赋新值的对象,必须时javaBean实例或者是java.util.Map对象;
property(String),要赋新值的属性名称;
remove 标签的属性:var(String),要删除限域变量的名称;
scope(String),要删除限域变量的范围;
if 标签的属性:test(boolean),决定是否处理某些现有主要内容的测试条件;
var(String),引用测试条件值的限域变量名称,var 的类型为boolean;
scope(String),用var设置的限域变量的范围;
jstl的一些用法的更多相关文章
- JSTL标签的用法详解
在JSP中写Java代码是一件很恶心的事情,代码量少的话还可以,要是多的话,就蛋疼了,整个页面都是<% %>所以EL表达式和JSTL就应运而生了,这里我们注重讲解一下JSTL标签的使用: ...
- JSP 基础之 JSTL <c:forEach>用法
在JSP的开发中,迭代是经常要使用到的操作.例如,逐行的显示查询的结果等.在早期的JSP中,通常使用Scriptlets来实现Iterator或者Enumeration对象的迭代输出.现在,通过JST ...
- jstl中的用法
版权声明:本文为博主原创文章,未经博主允许不得转载. 在JSP的开发中,迭代是经常要使用到的操作.例如,逐行的显示查询的结果等.在早期的JSP中,通常使用Scriptlets来实现Iterator或者 ...
- JSTL日期格式化用法
JSP Standard Tag LibrariesFormatting and InternationalizationTwo form input parameters, 'date' and ' ...
- JSP 基础之 JSTL <c:if>用法
<c:if>还有另外两个属性var和scope.当我们执行<c:if>的时候,可以将这次判断后的结果存放到属性var里:scope则是设定var的属性范围.哪些情况才会用到va ...
- JSP 基础之 JSTL <c:choose>用法 if else
<c:choose> <c:when test="${condition1}"> condition1为true </c:when> <c ...
- JSTL 操作符
el表达式的取值默认顺序: pageScope requestScope sessionScope applicationScope 结构,采用.导航,也称为存取器 ${us ...
- JSTL标签(转载)
JSTL标签是一个实现web功能的定制标签库,包括输出功能,条件判断,循环等,使用JSTL标签,为动态编写WEB应用程序提供了很大的方便性,能很好的和Java语言和HTML进行结合.下面我们看看jst ...
- 【温故知新】Java web 开发(四)JSTL 与 JDBC 的增删改查
本篇开始使用 jstl 这个 jsp 的标签库,在同一个 Servlet 中实现处理 CRUD 请求,以及使用 jdbc 数据库基本操作.然后你会发现 Servlet 和 jdbc 还是有很多不方便之 ...
随机推荐
- AJAX部分---php-jquery-ajax;
AJAX的应用场景 1.异步搜索过滤内容数据 2.表单异步验证 3.异步加载页面“更多”数据 4.异步处理登录 5.异步处理用户名是否注册 AJAX的主要特点 1.在不刷新页面的情况下,与服务器进行异 ...
- 关于CSS的那些事?
关于CSS的那些事? 它有精准定位与排版,使得网页布局.信息排版一目了然:它有多姿多彩的样式属性,使得网页中各元素千变万化:它有神奇的渲染天赋,使得网页有了如诗如画.别具一格的魅力.你知道它了吗?没错 ...
- php 单引号 双引号 ,php字符串/ hmtl / 数据库显示/ 及php的几个转化函数
* 以单引号为定界符的php字符串,支持两个转义\'和\\* 以双引号为定界符的php字符串,支持下列转义(\'会直接输出\' ,也会转义 \\): \n 换行(LF 或 ASCII 字符 0x ...
- Python decode与encode
字符串在Python内部的表示是unicode编码(8-bit string),因此,在做编码转换时,通常需要以unicode作为中间编码,即先将其他编码的字符串解码(decode)成unicod ...
- 【python】and和or的用法
python 中的and从左到右计算表达式,若所有值均为真,则返回最后一个值,若存在假,返回第一个假值. or也是从左到有计算表达式,返回第一个为真的值. IDLE 1.2.4>>> ...
- 单节点nginx为两台apache服务器提供负载均衡
需求:本实验为单节点nginx为两台apache服务器提供负载均衡,所有配置为最简单 1.初始化3台测试server,该关的关了 [root@host101 ~]# vim /etc/hosts 19 ...
- [HTML5]原生事件绑定和jquery动态事件绑定的区别
原生事件绑定: <!-- 标签上绑定的事件是由window对象帮助调用,因此方法内的this其实是window对象 --> <label><input type=&quo ...
- UIView常用的一些方法小记之setNeedsDisplay和setNeedsLayout
1,UIView的setNeedsDisplay和setNeedsLayout方法 首先两个方法都是异步执行的.而setNeedsDisplay会调用自动调用drawRect方法,这样可以拿到 UI ...
- bootstrap-图文混排 media
<!-- media 图文混排 media-left(right) 图片的区域 在左边显示(右边) media-body 内容区域 media-heading 内容区域里的标题 media-mi ...
- git branch几个简单操作
1.git branch 该命令会列出当先项目中的所有分支信息,其中以*开头的表示当前所在的分支.参数-r列出远程仓库中的分支,而-a则远程与本地仓库的全部分支. 2.git branch deve ...