jsp点记(二)
pageContext.setAttribute();
request.setAttribute();
session.setAttribute();
application.setAttribute();
Jsp内置对象:
out pageContext request response session application exception config
用EL表达式的指令:
<%@ taglib prefix="c" uri="http://java.sun.com/jsf/core" %>
EL表达式:
El支持运算符:
大 于:"gt" ">"
小 于:"lt" "<"
大于等于:"ge" ">="
小于等于:"le" "<="
等 于:"eq" "=="
不等 于:"!=" "ne"
and :"and" "&&"
or : "or" "||"
加减 乘:"+" "-" "*"
除 :"div" "/"
取余 :"mod" "%"
: "}"
:"."
:"["
:"?"
通用标签:
1.基本标签
<c:set var="" value="" scope="" target="" property=""></c:set>
var变量名 value值(一般和target,property属性不同时使用) scope范围 target目标对象 property目标对象属性
<c:out value=""></c:out>
value输出值
<c:if test="" var="" scope=""></c:if>
var变量名 test值 scope范围
<c:choose >
<c:when test="${test0==10}" >
<h1> test0=10</h1>
</c:when>
<c:when test="${test0==105}">
<h1> test0=105</h1>
</c:when>
<c:when test="${test0==103}">
<h1> test0=103</h1>
</c:when>
<c:when test="${test0==102}">
<h1> test0==102</h1>
</c:when>
<c:otherwise>
<h1>
test0=Default
</h1>
</c:otherwise>
</c:choose>
<c:forEach var="i" begin="0" end="12" varStatus="in" step="1">
<h2>${in.index}0000${i}</h2>
//index索引从begin开始
</c:forEach>
<c:catch var="" ></c:catch>
<c:choose ></c:choose>
<c:forTokens items="" delims="" begin="" end="" step="" varStatus="" var=""></c:forTokens>
<c:import url="" charEncoding="" context="" scope="" var="" varReader="" ></c:import>
<c:otherwise ></c:otherwise>
<c:when test="" ></c:when>
<c:url context="" scope="" value="" var=""></c:url>
<c:remove var="" scope=""/>
<c:redirect context="" url=""></c:redirect>
<c:param name="" value=""></c:param>
2.处理标签
3.数据标签
<sql:setDataSource driver="oracle.jdbc.driver.OracleDriver" url="jdbc:oracle:thin:@localhost:1521:myoracle" user="administrator" password="administrator" var="conn" />
${conn }
<br/>
<sql:update dataSource="${conn}" sql="insert into flower values (fno.nextval,?,?,?,?,?,?,?,sysdate)" var="update">
<sql:param value="user1"></sql:param>
<sql:param value="user1"></sql:param>
<sql:param value="user1"></sql:param>
<sql:param value="22.1"></sql:param>
<sql:param value="user1"></sql:param>
<sql:param value="user1"></sql:param>
<sql:param value="user1"></sql:param>
</sql:update>
${update }
<br>
<sql:query var="q" dataSource="${conn}" sql="select * from flower"></sql:query>
<c:forEach var="a" items="${q.rows }"> //q.rows 为所有行数据
${a.fname }<br/> //fname为表列名
</c:forEach>
4.格式化标签 1.日期
2.货币
3.
页面显示时间HTML:
<head>
<script type="text/javascript">
function showTime()
{
var date=new Date();
var y = date.getYear();
var m = date.getMonth()+1;
var d = date.getDate();
var h = date.getHours();
var M = date.getMinutes();
var s = date.getSeconds();
var time=document.getElementById("time");
time.innerHTML=(y+"-"+m+"-"+d+" "+h+":"+M+":"+s);
//document.write(y+"-"+m+"-"+d+" "+h+":"+M+":"+s)
setTimeout(showTime,1000);
}
function closeM()
{
close();
}
</script>
</head>
<body onload="showTime()">
<div id="time"> </div>
<img src="5.bmp" />
<a href="javascript:closeM()">关闭</a>
</body>
</html>
JSTL fmt数字日期格式化
<fmt:formatNumber>标签用于根据设定的区域将数据格式化输出;
<fmt:formatDate>标签用于格式化输出日期和时间;
<fmt:parseDate>标签用于把字符串类型的日期和时间转换成日期型数据类型;
<fmt:setTimeZone>标签用于设定默认的时区;
<fmt:timeZone>标签用于设定在本签体内有效的时区;
日期格式数据在jsp页面显示使用如下标签
<fmt:formatDate value="${date}" pattern="yyyy-MM-dd"/>
其中${date}是实际数据中的java.util.Date类型数据
pattern="yyyy-MM-dd" 中的"yyyy-MM-dd"按照标准时间格式字符串定义即可,
可以显示到时分秒即为"yyyy-MM-dd HH:mm:ss"注意其中大小写
数字标签
<fmt:formatNumber value="${num}" pattern="#" type="number"/>
其中${num}是任意的基础数据类型数据,pattern指定当前数字的格式,可以指定格式”#”
(只有整数类型)、”#.#”(带一位小数类型)、” ¥#,###.###”(带千位分割符,和“¥”类型)等等;type指定当 前数字的类型,type有number(数值)、currency(货币)、percent(百分数)三种;
数字标签实例
Double num = new Double("123456789012.3456");
整数带千分符显示:
<fmt:formatNumber value="${num}" type="number"/>
整数显示:
<fmt:formatNumber value="${num}" pattern="#" type="number"/>
两位小数舍入显示:
<fmt:formatNumber value="${num}" pattern="#.##" type="number"/>
两位小数舍入,不足两位小数补0显示:
<fmt:formatNumber value="${num}" pattern="#.00" type="number"/>
货币显示:(与number类似扩展pattern)
<fmt:formatNumber value="${num}" type="currency"/>
百分数显示:(与number类似扩展pattern)
<fmt:formatNumber value="${num}" type="percent"/>
实例结果
整数带千分符显示: 123,456,789,012.346
整数显示: 123456789012
两位小数舍入显示: 123456789012.35
两位小数舍入,不足两位小数补0显示: 123456789012.35
货币显示:¥123,456,789,012.35
百分数显示 12,345,678,901,235%
====================================================
<strong>附:</strong>
fmt:formatDate 的输出格式
<fmt:formatDate value="${isoDate}" type="both"/>
2004-5-31 23:59:59
<fmt:formatDate value="${date}" type="date"/>
2004-4-1
<fmt:formatDate value="${isoDate}" type="time"/>
23:59:59
<fmt:formatDate value="${isoDate}" type="date" dateStyle="default"/>
2004-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="short"/>
04-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="medium"/>
2004-5-31
<fmt:formatDate value="${isoDate}" type="date" dateStyle="long"/>
2004年5月31日
<fmt:formatDate value="${isoDate}" type="date" dateStyle="full"/>
2004年5月31日 星期一
<fmt:formatDate value="${isoDate}" type="time" timeStyle="default"/>
23:59:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="short"/>
下午11:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="medium"/>
23:59:59
<fmt:formatDate value="${isoDate}" type="time" timeStyle="long"/>
下午11时59分59秒
<fmt:formatDate value="${isoDate}" type="time" timeStyle="full"/>
下午11时59分59秒 CDT
<fmt:formatDate value="${date}" type="both" pattern="EEEE, MMMM d, yyyy HH:mm:ss Z"/>
星期四, 四月 1, 2004 13:30:00 -0600
<fmt:formatDate value="${isoDate}" type="both" pattern="d MMM yy, h:m:s a zzzz/>
31 五月 04, 11:59:59 下午 中央夏令时