JSP引入资源
——深刻体会“好记性,不如烂笔头”后,出现了下面的细文
1.引入编码
<%@page language="java" import="java.util.*"pageEncoding="GB18030" %>
/**
* 编码方式范围说明:
* GB2312字符集中除常用简体汉字字符外还包括希腊字母、日文平假名及片假名字母、俄语西里尔字母等字符,未收录繁体中文汉字和一些生僻字。
* GBK编码是GB2312编码的超集,向下完全兼容GB2312,同时GBK收录了Unicode基本多文种平面中的所有CJK汉字。
*/
/**
* 关于乱码问题:
* 1. 页面头部设置编码方式:参考上面的介绍;
* 2. 检查服务器的编码设置:以tomcat容器(服务器)为例,向apache-tomcat-6.0.44\conf\service.xml文件,添加下面红色的代码
* * <Connectorport="8088" protocol="HTTP/1.1"
* * connectionTimeout="20000"
* * uRIEncoding="GB18030"
* * redirectPort="8443" />
* 3. 在servlet中设置编码:request.setCharacterEncoding("GB18030");(可以采用过滤器filter统一配置)
*/
2.引入jar包
<%@ pageimport="java.util.*" %>
<%@ pageimport="java.text.*" %>
// Java的实用工具类库java.util:包含集合框架、遗留的collection 类、事件模型、日期和时间设施、国际化和各种实用工具类(字符串标记生成器、随机数生成器和位数组、日期Date类、堆栈Stack类、向量Vector类等)。集合类、时间处理模式、日期时间工具等各类常用工具包。
// 提供以与自然语言无关的方式来处理文本、日期、数字和消息的类和接口。
3.引入抽象出的公共内容
<%@include file="/footer.jsp" %>
<jsp:includepage="/footer.jsp"></jsp:include>
<%@ include ……%> 与<jsp:include ……></jsp:include>的区别:
前者在编译后,会引用文件共同编译成一个.class文件;而后者,与引用文件各自编译成各自.class文件。
这样造成的一个实质不同在于,前者需要考虑‘变量名是否在两个文件中出现重复’的问题,因为他们被当做一个.class来对待;而后者则只需考虑在本文件中不重复即可,两文件之间可以有相同的变量名,不会引起冲突。
4.引入标准库文件
<%@ taglib uri="http://java.sun.com/jsp/jstl/core"prefix="c"%> // 核心库
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions"prefix="fn"%> // 函数库
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt"prefix="fmt"%> // 格式库
运用:
核心库c中的迭代:
<c:forEachItems="**" var="**" >
……
</c:forEach>
fn函数库,常常需跟EL表达式联合使用:request.setAttribute("hello","helloWorld !!!");
${fn:length(hello) }
fmt格式库,request.setAttribute("today",newDate());
// 设置日期格式、变量
<fmt:formatDatevalue="${today}" pattern="yyyy/MM/dd HH:mm:ss"var="currentDate"/><br>
// 显示 变量值
${currentDate}<br>