JSTL相关资料手册打包学习及研究

因工作需要,最近在研究学习jstl,后台是java写的,以前研究过phpcms,不过接触了一段时间的jsp编写的后台,感觉实际上和phpcms数据调用方式大致相同,上手的确很容易,然而,有很多关于jstl语法的内容,恐怕未必能掌握的很好了,为了能够更好地工作,便找了些文档研究研究,遂与众享之…

为了避免被封,我设置了多重密码,有兴趣学习的人应该不会嫌麻烦吧(低调)…

该资料包,包含以下四个文件:

—-JavaServer Pages™ Standard Tag Library (好像内容还挺多的)
—-JSTL入门 IBM文档 (十年前的资料)
—-JSTL中文教程 (粗略的讲解了jstl,适合先看)
—-Prentice Hall – Core JSTL – Mastering The JSP Standard Tag Library (JSP标签库圣经?好像很厉害的样子)

下载地址

当然以上资料都有些年数了,不过不影响学习,最后声明,本资料仅供学习使用,请于24小时内删除,blablabla…

(解压密码:本域名完整长度以h开头,以t结尾)

JSP循环中为变量名赋值一个变量名?

标题我也不知道怎么说的好.不过还是得描述一下:

在一个三次循环的代码内,我新建一个变量,让每次循环,这个变量的名称都不同,而且三个变量的值也不同.如何才能最简单的写出来呢?

先来看看一段错误的(天真的代码):


<%@ page language="java" contentType="text/html; charset=gbk"
 pageEncoding="GBK"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="f" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>Insert title here</title>
</head>
<body>
<c:set var="arry">aaa|6,bbb|6,ccc|4</c:set>
<c:forTokens var="item" items="${arry}" delims="," varStatus="vs">
 <c:set var="index" value="${vs.count}"></c:set>
 <c:set var="tit">${fn:split(item,'|')[0]}</c:set>
 <c:set var="num">${fn:split(item,'|')[1]}</c:set>
 <c:set var="p${vs.count} }">
 name: ${tit}, number: ${num} <br />
 </c:set>
</c:forTokens>
${p1}${p2}${p3}
<!--
期望输出
栏目名称: 评测, 该栏目输出文章数量为6
栏目名称: 导购, 该栏目输出文章数量为6
栏目名称: 文化, 该栏目输出文章数量为4
-->
</body>
</html>

当然上面肯定不能输出成功的.根本不能在c:set内创建一个含有变量的变量名var=”p${vs.count}”!

所以我只好改成下面这段:


<%@ page language="java" contentType="text/html; charset=gbk"
 pageEncoding="GBK"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="s" uri="http://java.sun.com/jsp/jstl/sql" %>
<%@ taglib prefix="f" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>Insert title here</title>
</head>
<body>
<c:set var="arry">aaa|6,bbb|6,ccc|4</c:set>
<c:forTokens var="item" items="${arry}" delims="," varStatus="vs">
 <c:set var="index" value="${vs.count}"></c:set>
 <c:set var="tit">${fn:split(item,'|')[0]}</c:set>
 <c:set var="num">${fn:split(item,'|')[1]}</c:set>
 <c:set var="p">
 name: ${tit}, number: ${num} <br />
 </c:set>
 <c:if test="${vs.count == 1}">
 <c:set var="p1" value="${p}"></c:set>
 </c:if>
 <c:if test="${vs.count == 2}">
 <c:set var="p2" value="${p}"></c:set>
 </c:if>
 <c:if test="${vs.count == 3}">
 <c:set var="p3" value="${p}"></c:set>
 </c:if>
</c:forTokens>
${p1}${p2}${p3}
</body>
</html>

那么很显然这段代码很臃肿,而且适用条件很有限,我认为在循环次数小于或等于3的情况下或许可以考虑,若是有5条甚至更多的时候,那么写这么多判断不如直接给每个变量进行赋值,那么我最近问了一些朋友,却找不出来更好的解决办法.今天的思考暂时告一段落.下次我来分享一些关于jstl的资料吧.

其他关于jstl学习资料请看: JSTL相关资料手册打包学习及研究

迷茫的蒲公英种子

蒲公英随风飘啊飘啊,

不愿意停下,

他希望在遥远的地方播下种子,

生根,

路途充满艰辛,

眨眼间,他已离开故土,

来到陌生的远方,

有时未曾见过的电闪雷鸣,有时又是严寒与酷暑,

慢慢的,他的开始害怕,

他在努力适应周围的一切,

他找了个地方,歇歇脚。

周围看起来风和日丽,一切安好,

可是哪里会没有艰难没有险阻,

去适应的同时,

安静之时,他在想他的归属在哪。。。

慢慢的成长吧,

努力扎根发芽找到属于自己的地方!

搬家留念

终于进村了…

周围环境有点脏,不过再往外面就还可以了,后面是山,旁边是庙.这里房租不是很贵,不过什么都没有,废了几个双休一点点的总算是都搬过来…

今天是第一个晚上,纪念日咯,这可是要买不少东西了…准备把这个房间好好布局装扮一下.拿着软尺,把房间量了个遍.

闲话不多说上图咯.

新房小全景
新房小全景,乱糟糟的东西多呀
新房一角
新房一角

想想还要买门帘,挂衣,衣柜,大量贴纸……….慢慢折腾吧…