6.25 JSP学习
- JSP学习
- JSP for Tokens学习
- 功能 : 用于对字符串的拆分, 并可以指定多个分隔符
- 范例 :
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<!-- forTkens 专门用于字符串的拆分 -->
<c:set var="heros" value="han1, han2; han3: han4" />
<c:forTokens items="${heros}" delims=",;:" var="hero">
<c:out value="${hero}" />
<br>
</c:forTokens>
2.JSP 数字的格式化
1) 数字的格式化 formatNumber
2) 功能 :
<fmt:formatNumber 表示格式化数字
minFractionDigits 小数点至少要有的位数
maxFractionDigits 小数点最多能有的位数
3) 范例 :
<%@ page language = "java" contentType ="text/html; charset=UTF-8" pageEncoding = "UTF-8" import = "java.util.*" %>
<%@ taglib uri= "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<%@ taglib uri= "http://java.sun.com/jsp/jstl/fmt" prefix = "fmt" %>
<c:set var = "money" value = "80" />
<c:set var = "pi" value = "3.1415926" />
<!-- 最少有两个小数位 -->
<fmt:formatNumber type = "number" value = "${money}" minFractionDigits="2" /><br/>
<!-- 最多两个小数位 -->
<fmt:formatNumber type = "number" value = "${pi}" minFractionDigits="2" /><br/>
- jsp 格式化日期
- fmt是标签常用
- 功能 :
<fmt:formatDate 表示格式化日期
yyyy表示年份
MM 表示月份
dd表示日期
E表示星期几
a表示上午还是下午
HH表示小时
mm表示分钟
ss表示秒
S表示毫秒
z表示时区
- 范例
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8" import="java.util.*"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="fmt"%>
<%
Date now = new Date();
pageContext.setAttribute("now", now);
%>
<fmt:formatDate value="${now}" pattern="G yyyy年MM月dd日 E" /><br>
<fmt:formatDate value="${now}" pattern="a HH:mm:ss.S z" /><br>
<fmt:formatDate value="${now}" pattern="yyyy-MM-dd HH:mm:ss" /><br>
- jsp EL表达式
- EL表达式
- 从各个作用域中取值
<%@ page language = "java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" %>
<%@ taglib prefix = "c" uri = "http://java.sun.com/jsp/jstl/core" %>
<%--
如果需要保证EL表达式能够正常被使用, 需要在<%@ page 标签上加上isELIgnored = "false"
${name} 等效于 <c:out value = "${name}" />
--%>
<c:set var="name" value="${'green'} " scope="request" />
通过java语言获得 : <%=request.getAttribute("name")%><br>
通过标签获得 : <c:out value = "${name}" /><br>
通过EL语句获得 : ${name}<br>
2) 作用域优先级
但是通过EL语句你可以观察到, 其实有可能在几个作用域都有一个相同变量名的变量, 那么如果使用EL语句${name}的时候他是从pageContextrequestsessionapplication中取值的, pageContext的优先级最高.
3) JavaBean的概念
a) 这里需要有一个注意点, 需要导入特定的包import=“bean.*”, 这样才能生效.
范例 :
<%@ page language = "java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" isELIgnored="false" import="bean.*" %>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%
Hero hero = new Hero();
hero.setName("Han");
hero.setHp(1000);
hero.setId(1);
hero.setDamage(10);
request.setAttribute("hero", hero);
%>
英雄详细信息 :<br>
<table width="200px" border="1" cellspacing="0">
<tr>
<td>Id</td>
<td>${hero.id}</td>
</tr>
<tr>
<td>Name</td>
<td>${hero.name}</td>
</tr>
<tr>
<td>Hp</td>
<td>${hero.hp}</td>
</tr>
<tr>
<td>damage</td>
<td>${hero.damage}</td>
</tr>
</table>