el 表达式是什么? *
sun 制订的一种用于计算的一种规则,可以给元素赋值,也可以直接输出
el表达式:
${el表达式}
实验1:简单的使用el表达式获取值
<%request.setAttribute("name","zhangsan"); %>
${name }// ${requestScope.name }
注意他是挨个取值了,范围从小到大,如果指定的话,就明确去找${sessionScope.name}
案例2:从bean对象中取出数据
<%
User u=new User();
u.setName("zhangsan");
request.setAttribute("user",u); %>
${user.name}
其他方式${user["name"]}
案例3:获取请求参数
${ param.userName }
案例4:简单计算和判断
主要为关系,算数,和empty运算 关系运算
jstl
jstl 是什么? *
java standard taglib(java 标准标签库)。
标签--
sun
公司制订的一种技术规范,把jsp中的java代码做成html一样。比el表达式,强大很多
需要先引入jar包
jstl.jar standard.jar
在页面中引入
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
c:if条件判断的使用
案例
<%
User user=new User();
user.setName("zhangsna");
user.setAge(18);
user.setGender(0);
request.setAttribute("user",user);
%>
姓名:${user.name }年龄${user.age }
<c:if test="${user.gender==1}" scope="request" var="gender" >
男
</c:if>
<c:if test="${!gender}">女</c:if>
c:chose 分支判断
案例:
<c:choose>
<c:when test="${user.gender==1}">男</c:when>
<c:otherwise>女</c:otherwise>
</c:choose>
c:forEach--循环遍历
<%
List<User> list = new ArrayList<User>();
User user = null;
for (int i = 0; i < 10; i++) {
user = new User();
user.setName("zhangsan" + i);
user.setAge(18 + i);
list.add(user);
}
request.setAttribute("users", list);
%>
<table>
<tr>
<td>
姓名
</td>
<td>
年龄
</td>
</tr>
<c:forEach var="user" items="${users}">
<tr>
<td>
${user.name}
</td>
<td>
${user.age}
</tr>
</c:forEach>
</table>
注意在遍历中有<c:forEach var="user" items="${users}" varStatus="status">这样一个东西
里边存放了遍历的信息主要包含了
${status.count} ${status.index}这两个信息
jsp:url 当用户禁止 cookie 以后,会自动在地址后面添加 sessionId。当使用绝对路径时,会自动在地址前添加应用名。
jsp01文件
<%session.setAttribute("name","zhangsan"); %>
<a href="<c:url value=‘/jsp01.jsp‘/>">访问jsp01</a>
jsp02文件
<%=session.getAttribute("name") %>
注意观察url地址栏以及session
<c:set var="" scope="" value="">绑订一个对象到指定的范围。
<c:set var="test" scope="session" value="10"></c:set>
<p>${sessionScope.test }</p>
c:remove
<c:import url="MyJsp.jsp"></c:import>--用于在运行期间动态导入
<c:redirect url=""> 重定向到另外一个地址。 url 属性指定重定向的地址。
<c:set scope="request" var="test" value="hello"></c:set>
<c:redirect url="test.jsp"></c:redirect>
test.jsp
<%=request.getAttribute("test") %>
c:catch 错误封装处理--用的比较少
<c:catch var="msg">
<% int i=1/0;%>
</c:catch>
${msg }