什么是jsp
概念:JSP全称:Java Server Pages,java服务器页面,和Servlet一样,是Sun公司定义的一种动态网页开发技术。 特点:j基于Html模板。可以在html模板嵌入Java代码和JSP标签 作用:用于页面显示
jsp语法
JSP页面
可以包含指令、脚本、脚本表达式、声明、静态内容
脚本
可以写java语句,声明局部变量 语法:<%java代码%>
脚本表达式
JSP注释
JSP与Servlet
关系:JSP文件在容器中会转换成Servlet JSP是对Servlet的一种高级封装 本质还是Servlet 区别:JSP可以很方便的编写或者修改HTML网页而不用去写大量的println语句
JSP实现原理
JSP指令
page指令
静态包含就等于直接把这个文件写到了page的html中
include指令
taglib指令
动作标签
<%
int num = 100;
String username="zhangsan";
Date date = new Date();
ArrayList<String> list = new ArrayList<>();
list.add("北京");
list.add("上海");
list.add("南京");
out.println(num + "<br/>");
out.println(username + "<br/>");
out.println(date + "<br/>");
out.println(list + "<br/>");
%>
<h2>脚本表达式</h2>
<%=num%><br/>
<%=username%><br/>
<%=date%><br/>
<%=list%><br/>
<h2>3.声明、方法、成员变量</h2>
<%!
public String handleString(String s){
return s.toUpperCase();
}
private int age=20;
%>
<h2>注释</h2>
<%--jsp注释--%>
<%
//java单行注释
/*
java多行注释
*/
%>
jsp内置对象
out对象
PageContext对象
PageContext:代表整个jsp页面,当前页面的作用于对象,只在当前页面中使用 作用; 作为域对象,用于获取其他八个内置对象
EL表达式
EL和JSP脚本的区别
EL获取引用类型的属性
<h3>获取list中的数据</h3>
<%
List<String> list = new ArrayList<>();
list.add("华为");
list.add("小米");
list.add("苹果");
list.add("oppo");
pageContext.setAttribute("list", list);
%>
${list[0]}
${list[1]}
${list[2]}
${list[3]}
${list[4]}
${list[5]}
${list[6]}<%--越界了也不会报错--%>
<h3>获取map集合中的元素</h3>
<%
Map<String,String> map = new HashMap<>();
map.put("cn", "中国");
map.put("uk", "英国");
map.put("kor", "韩国");
map.put("thai", "泰国");
map.put("111", "越南");
pageContext.setAttribute("map", map);
%>
<%--第一种方式:只能取字符串--%>
${map.cn}
${map.uk}
${map.kor}
${map.thai}
第二种方式:使用[] 单引号双引号都可以表示字符串
${map["cn"]}
${map['uk']}
${map["kor"]}
${map["thai"]}
${map["111"]}
EL运算符
隐式对象
路径分类
JSTL标签库
基本标签 set out remove
<c:set var="username" value="张三"></c:set>
<c:set var="pwd" value="888"></c:set>
<c:out value="${username}"></c:out><br/>
<c:out value="${pwd}"></c:out><br/>
<c:remove var="pwd"></c:remove>
条件标签if
多分支choose标签
迭代foreach标签
url标签
MVC、分页
|