JSP学习
来源:互联网 发布:seo分析工具 编辑:程序博客网 时间:2024/06/05 11:11
JSP:是一种既可以写HTML语言也可以写Java代码的页面,JSP的本质是一个Servlet
<%! %> 生成的Java代码在成员位置
<% %> 生成的Java代码在service()方法中
<%= %> 生成的东西
JSP专用注释:<%--jsp专用注释--%>
1. 3个指令,6个动作标签,9个内置对象
1.1 三个指令:
格式:<%@ 指令名称 属性名="属性值" %>
(1)page指令:配置JSP页面的属性 <%@ pageEncoding="UTF-8" ,language="java", import="java.util.*"%>
(2)include指令:静态包含,包含后只会存在一个.class文件
(3)taglib指令:导入额外的内容 <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
1.2 六个动作标签:
作用:替换Java代码,简化书写,提高可读性
(1)<jsp:useBean id="对象名 " class="类名"></jsp:useBean>
<jsp:useBean id="student" class="SchoolDemo.Student"></jsp:useBean>
(2)<jsp:setProperty property="字段名" name="对象名" value="实参" />
<jsp:setProperty property="name" name="student" value="张三" />
内省:通过字段名称,找到对应的set和get方法
(3)<jsp:getProperty property="字段名" name="对象名" />
<jsp:getProperty property="name" name="student" />
(4)<包含的页面和被包含的页面都会各自转换一份java文件,用来做页面的布局>
<jsp:include page="/index.jsp"></jsp:include>
(5)<请求转发>
<jsp:forward page="/mydemo"></jsp:forward>
(6)<携带请求参数>
<jsp:forward page="/mydemo">
<jsp:param value="zhangsan" name="username" />
</jsp:forward>
1.3 九个内置对象:
内置对象:在jsp转换后的.java文件的service方法中声明好的对象,在jsp中可以直接使用
(1)application:ServletContext:全局域对象
(2)session:HttpSession:会话域对象
(3)request:HttpRequest:请求域对象
(4)pageContext:PageContext:页面域对象
页面域对象可以获取其他八个内置对象,可以在非jsp环境使用其他的内置对象
(5)out:JspWriter
out.print(写出的内容会在body标签内,建议使用out)
(6)response:HttpServletResponse
response.getWriter().print("response写出的内容会跑到html标签的外面");
(7)config:ServletConfig
(8)page:this
(9)exception: Throwable
9个内置对象:当服务器JSP转换引擎将jsp 转成java类了之后,会在service()方法里面生成9个内置对象,你只要来使用它就可以了
2.EL表达式
2.1定义:JSP内置表达式语言,EL是为了替换<%=" "%>
2.2作用:
(1)获取域中的数据
没有获取到数据,用空串表示;如果说每个域的键相同,那只能取到最小域里面的值;如果你要取每个域中的值,可以通过每个域对象
${pageScope.key} ${requestScope.key}...
(2)可以做运算 + - * / || &&
(3)可以调用Java中的方法
(4)empty运算符,能判断一个对象是否为null ,也能判断一个容器的长度是否为0 ;取反用not empty
2.3
el的内置对象有11个,其中cookie为重点掌握
java中Cookie的api
getName():获取cookie的名称
getValue():获取cookie的value值
我们称name和value是cookie的bean属性
使用cookie内置对象:${cookie.给cookie起名字.value}
例如:获取jsession的值:${cookie.JSESSIONID.value}
在jsp页面中获取项目名
${pageContext.request.contextPath}
例如:<a href="${pageContext.request.contextPath }/demo8.jsp">pagecontext内置对象获取项目名</a>
3.JSTL标签:JSP标准标签库
3.1作用:为了替换JSP脚本,简化我们的书写,由阿帕奇出品,我们应JSTL标签结合EL表示去使用
3.2分类
core,ftm,sql.xml,函数库
3.3步骤
(1)导入jar包 (jstl.jar和standard.jar)
(2)在页面上导入标签库<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
3.4核心类库:core(重点掌握)
判断语句:c:if
<c:if test="${el表达式}">满足的时候输出的内容</c:if>
循环语句:c:forEach
格式一: <%-- begin:循环初始值 end:循环结束 var:索引 step:步长 --%>
<c:forEach begin="0" end="4" var="i" step="1">
${arrs[i]}<br>
</c:forEach>
格式二: <%--增强for 循环 items 你要遍历的容器 var 容器中的元素 varStatus 元素循环的的状态--%>
<c:forEach items="${list}" var="ele" varStatus="v">
${ele}
${v.current}
${v.count}c
${v.index}
</c:forEach>
常用的属性:
(1)count:记录次数,从1开始
(2)current:当前遍历的内容
(3)index: 索引,从0 开始
c:url:
作用:
(1)补全项目路径: <c:url value="/index.jsp" />
<a href="${pageContext.request.contextPath }/index.jsp"></a>
<a href="<c:url value='/index.jsp'/>"</a>
(2)可以自动进行URL重写
- JSP学习
- jsp学习
- JSP学习
- jsp学习:
- 学习JSP
- jsp学习
- jsp学习
- JSP学习
- jsp学习
- jsp学习
- jsp学习
- jsp学习
- JSP学习
- JSP学习
- JSP学习
- jsp 学习
- jsp学习
- 学习JSP
- 15个必知的Android开发者选项
- 计算机网络之Cisco Packet Tracer模拟器使用
- 点亮细胞171-180
- HDOJ1231(连续最大子序列+归并集)
- New era China, A Global symbol
- JSP学习
- 点亮细胞181-190
- String的==
- pillow 灰色图像转换
- boost::bind()
- 点亮细胞191-200
- 创建一个杂项字符设备模版
- 第九周【项目3
- 链表中LinkList L与LinkList *L的区别