-
href加/定位到http://localhost:8080/
-
href不加/定位到当前的父路径
Base标签
-
默认情况下,我们在页面发送请求的时候,如果使用的相对路径都会以当前请求的上级为基准
-
重新定义父路径
<% // 项目名 /JSTL_01 String path = request.getContextPath(); // getScheme : 协议 http // getServerName : IP地址 // getServerPort : 端口号 // http://127.0.0.1:8080/JSTL_01/ String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; %> <base href="<%=basePath %>" />
MVC开发模式
-
M:Model,模型。JavaBean、完成具体的业务操作,如:查询数据库,封装对象
-
V:View,视图。JSP展示数据
-
C:Controller,控制器。Servlet
获取用户的输入
调用模型
将数据交给视图进行展示
EL表达式
{域名称.键名}:从指定域中获取指定键的值
-
pageScope --> pageContext、
-
requestScope --> request
-
sessionScope --> session
-
applicationScope --> application(ServletContext)
获取对象、List集合、Map集合的值
1. 对象:${域名称.键名.属性名}
本质上会去调用对象的getter方法
2. List集合:${域名称.键名[索引]}
3. Map集合:
${域名称.键名.key名称}
${域名称.键名["key名称"]}
-
JSTL
-
核心库 : <%@taglib prefix="c" uri="Oracle Java Technologies | Oracle" %>
-
格式化 : <%@taglib prefix="fmt" uri="Oracle Java Technologies | Oracle" %
-
函数 : <%@taglib prefix="fn" uri="Oracle Java Technologies | Oracle" %>
常用标签
-
c:out // 向页面输出
-
c:if // if判断,相当于java代码的if语句
-
属性:test 必须属性,接受boolean表达式
-
如果表达式为true,则显示if标签体内容,如果为false,则不显示标签体内容
-
一般情况下,test属性值会结合el表达式一起使用
-
-
c:choose,c:when,c:otherwise // 相当于java代码的switch语句
-
使用choose标签声明 相当于switch声明
-
使用when标签做判断 相当于case
-
使用otherwise标签做其他情况的声明 相当于default
-
-
c:forEach // 循环遍历,相当于java代码的for语句
-
fmt:formatNumber // 格式化
-
fmt:formatDate // 日期格式化
格式化标签库
-
<fmt:formatDate value="${eve.birth}"/> 2019-9-9
-
<fmt:formatDate value="${eve.birth}" type = “date” /> 11:31:10
-
<fmt:formatDate value="${eve.birth}" type = “time” /> 19-19-9
-
<fmt:formatDate value="${eve.birth}" dateStyle = “short” /> 2019-9-9
-
<fmt:formatDate value="${eve.birth}" dateStyle = “medium” /> 2019年9月9日
-
<fmt:formatDate value="${eve.birth}" dateStyle = “long” /> 2019年9月9日 星期一
-
<fmt:formatDate value="${eve.birth}" pattern="yyyy年MM月dd日"/> yyyy年MM月dd日