一.jsp基础
1.<%@ include file=" " %> 引号内可放jsp文件和html文件,比如引号内放入index.html,那个该文件显示会加上index.html的内容
2.<%=...%> 等同于out.print(...); 注意:这种用法%内不能加分号
3.内置对象不用声明,可直接使用
NO. | 内置对象 | 类型 |
1 | pageContext | javax.servlet.jsp.PageContext |
2 | request | javax.servlet.http.HttpServletRequest |
3 | response | javax.servlet.http.HttpServletResponse |
4 | session | javax.servlet.http.HttpSession |
5 | application | javax.servlet.ServletContext |
6 | config | javax.servlet.ServletConfig |
7 | out | javax.servlet.jsp.JspWriter |
8 | page | java.lang.Object |
9 | exception | java.lang.Throwable |
pageContext代表当前页面上下文,通过pageContext这些方法获得对象
- getException方法返回exception隐式对象
- getPage方法返回page隐式对象
- getRequest方法返回request隐式对象
- getResponse方法返回response隐式对象
- getServletConfig方法返回config隐式对象
- getServletContext方法返回application隐式对象
- getSession方法返回session隐式对象
- getOut方法返回out隐式对象
application代表serveltContext对象
out 是reponse.getwriter();
二.EL
目的:使页面代码更清晰
操作步骤:
1.获取数据
EL表达式主要用于替换jsp的脚本表达式,以从各种类型的web域中检索Java对象,获取数据。(某个web域的对象,获取Javabean的属性访问list集合,访问map集合,访问数组等)
2.执行运算
利用EL表达式可以执行jsp中基本的关系运算,逻辑运算和算术运算
3.获取web开发常用对象
EL表达式定义了一些隐式对象,利用这些对象,开发人员可以很容易获得web常用对象的引用,从而获得对象中的数据
4.调用Java方法
配合JSTL使用效果更佳
获取数据
如request.setAttribution(“reqMsg”,“我是请求方”);
${reqMsg} 相当于<%=request.getAttribute("reqmsg") %> 也相当于<%= pageContext.findAttribute("reqmsg") %>
pageContext 对应于jsp中pageContext对象
requestScope 代表request域中用于保存属性的map对象
sessionScope 代表session域中用于保存属性的map对象
applicationScope 代表application域中保存属性的map对象
param 代表保存了所有请求参数的map对象
paramValues代表保存了所有请求参数的map对象,返回的是数组
cookie 表示一个保存了所有cookie的map对象
initparam 表示一个保存了所有web应用初始化参数的map对象
EL计算
EL里不能使用字符串相加,
但是可以用来判断 ${"abc"==bcd}返回false
可以做基本运算:${2+3} 输出为5
三,JSTL
含义:JSP标准标签库
作用:简化页面逻辑代码
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> //标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" prefix="func" %> //JSTL标签库
<%@ taglib uri="http://java.sun.com/jsp/jstl/function" prefix="fn" %> //JSTL函数库
在lib里边导入jstl.jar和standard.jar
<c:when test=${param.name='admin'}>
您好管理员
</c:if>
<c:forEach begin="0" end="10">
hhhhhh<br>
</c:forEach>
迭代集合
<table>
<c:forEach items="${books}" var="book">
<tr>
<td>
${index} //index代表迭代的顺序
</td>
<td>
${book.id}
</td>
</tr>
JSTL标签库大全 http://blog.csdn.net/qq_25827845/article/details/53311722