EL表达式与JSTL(二)

4 篇文章 1 订阅
4 篇文章 0 订阅
1.使用EL创建一个jsp表单
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 容错性强并且域没有该值 什么都不显示 不会显示null -->
<!-- el表达式中的 pageContext 就真的代表对象 可以使用对象 -->
${pageContext.request.contextPath }
<form action="${pageContext.request.contextPath }/9.jsp" method="post">
    用户名:<input type="text" name="username"><br/>
    密  码:<input type="text" name="password"><br/>
    <input type="checkbox" name="hobby" value="唱歌">唱歌<br/>
    <input type="checkbox" name="hobby" value="篮球">篮球<br/>
    <input type="submit" value="提交">
</form>
</body>
</html>
2.获取表单信息
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
response.setContentType("text/html;charset=UTF-8");
request.setCharacterEncoding("UTF-8");
%>
<!-- 用el表达式获取请求参数 -->
<!-- 就相对于调用getParameter -->
${param.username }
${paramValues.hobby[0] }<br/>
<!-- 取请求头 -->
${header["User-Agent"]} }<br/>
<!-- 去cookie中的值 -->
${cookie.JSESSIONID.value }<br/>
${cookie.JSESSIONID }<br/>
</body>
</html>

1.JSTL

1.JSTL表达式需要导包jstl-1.2.jar
2.JSTL表达式 实际上就是处理jsp页面的时逻辑处理
3.通用标签 set out remove
4.声明一个变量 默认是放在page域中
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- JSTL表达式需要导包jstl-1.2.jar
JSTL表达式 实际上就是处理jsp页面的时逻辑处理
通用标签 set out remove
声明一个变量 默认是放在page域中-->
<c:set var="num" value="10" scope="session"></c:set>
<c:out value="${num1 }" default="aaaa"></c:out><br/><!-- 相对于直接输出到网页上 out对象一样 -->
${num }<br/>
<!-- 删除 -->
<c:remove var="num" scope="session"/>
${num }<br/>
</body>
</html>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<!-- 声明变量 -->
<c:set var = "n" value="10"></c:set>
<!-- 逻辑表达式 if choose -->
<c:if test="${3 < 5 }">aaaa</c:if>
<c:if test="${3 > 5 }">bbbb</c:if>
<c:choose>
    <c:when test="${n==5 }">5</c:when>
    <c:when test="${n==10 }">10</c:when>
    <c:otherwise>
        xxxx
    </c:otherwise>
</c:choose>
</body>
</html>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
    ArrayList<String> list= new ArrayList();
    list.add("aaaaa");
    list.add("bbbbb");
    list.add("ccccc");
    request.setAttribute("list", list);
%>
<!-- items代表要遍历的容器 var代表容器中的对象 -->
<c:forEach items="${list}" val="l">
    ${l }<br>
</c:forEach>

<!-- 循环 step循环增量-->
<c:forEach var="i" begin="0" end="10" step="2"> 
   <%-- ${list[i] }<br/> --%>
 ${i }<br/> 
</c:forEach>
</body>
</html>
<%@page import="java.util.ArrayList"%>
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsp/jstl/core"  prefix="c"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%   
    ArrayList<String> list= new ArrayList();
    list.add("aaaaa");
    list.add("bbbbb");
    list.add("ccccc");
    list.add("dddd");
    list.add("eeee");
    request.setAttribute("list", list);
%>
<!-- 值 索引 计数 第一个元素 最后一个元素 -->
<table border="1">
    <tr>
        <th></th>
        <th>索引</th>
        <th>计数</th>
        <th>第一个</th>
        <th>最后一个</th>
    </tr>
    <c:forEach items="${list }" var="l" varStatus="vs">
    <tr>
        <th>${l }</th>
        <th>${vs.index }</th>
        <th>${vs.count }</th>
        <th>${vs.first }</th>
        <th>${vs.last }</th>
    </tr>
    </c:forEach>
</table>
</body>
</html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值