JSP应用

 

一.JSP 中的语法
1.注释:<%-- 注释 --%>
2.JSP表达式:<%= 表达式 %>
<%=map.get("type") %>

3.JSP脚本(java语句):<%  %>
<%for(int i=0;i<10;i++){%>
    <li>列表项目 <%=i %></li>
<%} %> 

4.JSP声明:<%! 声明内容 %>
<%!
    //在Servlet中声明类的属性,方法等
    double test(int a,int b){
        return Math.sqrt(a*a+b*b);
    }
%>

5.JSP指令:<%@ 指令名 属性=值%>
(1)<%@ page %> page指令:用于导包、设置页面属性
<%@ page import="java.util.Map,java.util.HashMap"
 language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>

(2)<%@ include file="url" %> 包含指令
<%@ include file="/WEB-INF/nav.jsp" %>

(3)<%@ taglib %> 标签指令(导入jstl包,1.2版本):*.tld,实现Tag接口的类
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>

二.具体实例使用JSTL
1.Map表
<%
Map map = new HashMap();
//map.put("type","电影控");
request.setAttribute("map",map);
%>
<%=map.get("type") %>结果为:电影控

 

<c:out value="${map.type['class']}"/>结果为:class java.lang.String

 

 

2.核心标签out
(1)out标签直接输出
<c:out value="Hello World!"></c:out>结果为:Hello World!
(2)out标签通过EL表达式输出
<%
    request.setAttribute("tag", "<a>link</a>");
%>

 

<p><c:out value="${tag}" escapeXml="true"></c:out></p>结果为:<a>link</a>

 

 

3.核心标签set
(1)set标签直接设置值
<c:set var="str" value="Hello World!"></c:set>
<p>str=${str}</p>结果为:str=Hello World!
(2)set标签将一组标签设置为变量
<c:set var="template"><a>demo</a></c:set>
<p><c:out value="${template}" escapeXml="true"/>${template}</p>结果为:<a>demo</a>demo
(3)常用路径标签

 

<c:set var="base" scope="request" value="${pageContext.request.contextPath}"></c:set>

 

 

4.核心标签if
<c:set var="name" value="熊大"></c:set>
<c:if test="${name eq '熊大' }">
    <p>臭狗熊那里跑!</p>

 

</c:if>

 

5.核心标签多路分支

 

<c:choose>
    <c:when test="${name eq '熊大' }"><p>找的就是你!</p></c:when>
    <c:when test="${name eq '熊二' }"><p>你家老大呢?</p></c:when>
    <c:otherwise><p>没有熊出没</p></c:otherwise>

 

</c:choose>

 

 

6.核心标签forEach循环
(1)输出循环次数
<c:forEach var="i" begin="1" end="5" step="1">
    <p>第${i}次</p>
</c:forEach>
(2)输出对象及循环次数(stat.index从0开始,想从1开始,加1就行了)
<c:forEach var="n" items="${names}" varStatus="stat">
    <p>第${stat.index+1}个:${n}</p>

 

</c:forEach>

 

 

7.核心标签import

 

<c:import url="/WEB-INF/footer.jsp"></c:import>

 

 

8.fmt标签,数字格式化标签
<%
    request.setAttribute("price",3.14159);
%>

 

<p>价格:<fmt:formatNumber value="${price}" pattern="RMB###,###.00"/></p>结果为:价格: RMB3.14

 

 

9.fmt标签,日期格式化
<%
    request.setAttribute("d",new java.util.Date());
%>
<p>今天日期:<fmt:formatDate value="${d}" pattern="yyyy-MM-dd HH:mm:ss"/></p>
结果为:今天日期: 2017-12-20 11:10:13

三.JSP页面中的隐含对象
1.输入输出对象request、response、out,HttpServletRequest,HttpServletResponse,JspWriter
2.作用域通信对象session、application、pageContext,HttpSession,ServletContext,JspContext
3.Servlet对象page、config,HttpServlet,ServletConfig
4.异常对象exception


四.具体实例
<%
    if(request instanceof HttpServletRequest){
        out.println("实现HttpServletRequest接口");
    }
%>


五.EL表达式
1.EL读取单个数据
request.setAttribute("name", name);

 

${names}

 

 

2.EL读取数据集合等
request.setAttribute("names", names);

 

${names[1]}

 

 

3.EL读取Map表
map.put("java","Java 核对技术");
request.setAttribute("map",map);
${map.java}
${map['java']}

 

${map["java"]}

 

 

4.EL读取对象的Bean属性
User p = new User(1,"linsa",24);
request.setAttribute("user",p);

 

${user.name}

 

 

5.EL 可以复合使用
User[] users={new User(1,"rose",4.0),new User(2,"lily",9.0)}
request.setAttribute("users",users);

 

${users[2].name}

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

linsa_pursuer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值