1.用于配置jsp页面的和导入资源文件
2.格式:<%@ 指令名称 属性名=xxx ,%>
3.分类:
1. page 配置jsp页面的
1. contentType:设置相应的MIME类型和响应类型
2. language:语言类型
3. buffer :缓冲区 默认是8kb
4. import:导包
5. errorPage:错误页面:当前页面发生异常后会跳转到指定的错误页面
6.isErrorPage:是否是错误页面 true可是使用内置对象Exception 对象默认是false
2. include :页面包含的 导入页面的资源文件
1. 比如说页面的logo和导航栏任意一个jsp页面都是可以共用的 就可以使用include标签 包含
3. taglib:导入资源的
1. 用來导入标签库使用taglib引入
2.
1. html注释:
2. 代码注释:<% -- --%>
1. pageContext
1. 真实类型:PageContext
2. 范围:当前页面共享数据
3. 他可以用来获取其他的八个内置对象
2. request
1. 一次请求访问的多个资源(转发)
3. session
1. 一次会话的多个请求之间共享数据
4. application
1. 真实对象:ServletContext
2. 所有的用户共享数据
5. response
1. HttpServletResponse
6. page
1. 当前的servlet对象 this
7. config
8. exception:(只有在isErrorPage为true的时候 才会有这个对象)
1. 1. 真实类型: Throwable
9. out
1. jspWriter
8. ` 运算符号
${3>4}
<%--算数运算符号 比较运算符 逻辑预算符--%>
<%System.out.println("这是一个分割符号");%>
<% request.setAttribute("name","nihaoJava");
session.setAttribute("age",11);
pageContext.setAttribute("sex",0);
application.setAttribute("school","beijing");
%>
使用el表达式
${sessionScope.age}
${requestScope.name}
${sex}
${school}
`
`<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.liangxin.domain.user" %>
<%@ page import="java.util.Date" %>
Title
<% user user = new user();
user.setAge(13);
user.setName("javaEE");
user.setBirthday(new Date());
request.setAttribute("user", user);%>
使用El表达式读取对象的值
${requestScope.user}
${requestScope.user.name}
${requestScope.user.age}
${user.birthday}
${requestScoper.user.birth}
`
----------
`<%@ page contentType="text/html;charset=UTF-8" language="java" import="com.liangxin.domain.user" %>
<%@ page import="java.util.Date" %>
<%@ page import="javax.management.ListenerNotFoundException" %>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.HashMap" %>
Title
<%
List list= new ArrayList() ;
list.add("aaa");
list.add("bbb");
list.add(new user("java",13,new Date()));
request.setAttribute("list",list);
%>
<%
HashMap map = new HashMap();
map.put("sname","javase");
map.put("score",88);
map.put("suser",new user("python",66,new Date()));
request.setAttribute("map",map);
%>
使用el表达式读取list集合中value
${requestScope.list[0]}
${list[1]}
${list[2].name}
使用El表达式读取map集合中的value
${map.sname}
${requestScope.map.suser.name}
${requestScope.map.suser.birthday}
`
`运算符empty
<% String str= "liang";
request.setAttribute("string",str);
%>
<%--empty运算符用来判断字符串,数组,集合是否是null并且长度是否大于零--%>
${empty str}`
1. `<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
jstlif标签的使用
<% List list = new ArrayList();
list.add("java");
list.add("python");
request.setAttribute("list", list);
/*
*
test是必须的属性, 接受boolean类型的表达式 如果表达式为true 则会显示if标签体中的内容
这里面没有else标签
* */
%>
如果test中的条件成立 标签内容就会输出
request域对象中不为空我我就会输出
`
`<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
jstl中choose标签的使用
<%--完成数字编号 对应星期几的案例
使用choose去取出數字 相当一 switch
使用when标签做判断条件 相当于case
使用otherwise 做其他条件的判断 相当于default
--%>
<%
request.setAttribute("num", 3);
%>
星期一
星期二
星期三
星期四
星期五
星期六
星期日
内容不符合要求
`
`<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
jstl中for标签的使用 相当于for循环
<%--使用for循环 1.完成重复的操作 2. 遍历容器--%>
<%-- 一下代码相当于 for(i=1; i<=10 ;i++){
System.out.pirintln(i);
}--%>
<%--varStatus 代表的是循环状态 item 相当于容器中临时变量--%>
${i}
<%--遍历容器--%>
<%
List list = new ArrayList();
list.add("aaa");
list.add("bbb");
list.add("ccc");
request.setAttribute("list",list);
%>
<%--一下代码相当于 foreach(String str : list){
System.out.println(str)}--%>
${s.index} ${s.count} ${str}
`<%@ page import="java.util.ArrayList" %>
<%@ page import="java.util.List" %>
<%@ page import="com.liangxin.domain.user" %>
<%@ page import="java.util.Date" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
练习将request域对象中的list集合输出到页面的表格中使用jstl和el表达式完成
<%--准备数据--%>
<% List list = new ArrayList();
list.add(new user("python", 111, new Date()));
list.add(new user("java", 122, new Date()));
list.add(new user("javaScript", 111, new Date()));
list.add(new user("C++", 4444, new Date()));
request.setAttribute("list", list);
%>
编号
姓名
年龄
生日
${s.count}
${user.name}
${user.age}
${user.birthday}
>
`