JSP笔记

l JSP

  • Ø 本质:Servlet
  • Ø JSP运行前需要翻译,翻译之后的文件就是Sevlet,简化Servlet开发

l JSP中的3种脚本

           1.<%!  Java代码 %>   相当于成员变量、方法

           2.<%=  Java代码 %> 相当于方法的参数

           3.<%   java代码 %>   循环判断等操作

l  静态引入:<%@ include file=”xxx.jsp” %>

  • Ø 合并在一起翻译、编译

 

l  动态包含:<jsp:include page=”xxx” />

  • Ø 单独编译引入的页面,把最终的输出结果合并

l 修改JSP的默认编码方式

 

l JSP的运行原理

     

 

l jsp中的3个指令:

1)     <%@page 属性名="值" 属性名="值" 属性名="值"%>  对页面中的编码方式进行设置、导入java类等操作

2)     <%@include file="xxx"%>

3)     <%@ taglib%>   引入标签库!

l EL表达式

  • Ø 主要用来简化页面的取值操作
  • Ø 语法:${表达式}

l  算术运算符

 

 

l  关系(比较)运算符

 

 

l  逻辑运算符

 

 

l  其他操作符

1)     三目(三元)运算符

2)     空操作符:empty

${ str == "" || str == null }  ==>   ${ empty str }

l 内置对象

u 两个重要内置对象:

1)     xxxScope   作用域

2)     param   ${param.参数名}  ==> <%=request.getParameter(“参数名”)%>

3)     pageContext  获取其他内置对象,主要用来获取项目名(项目地址) ${pageContext.request.contextPath}  ==>  <%=request.getContextPath()%>

4)     cookie   取值:${ cookie.cookie的名字.value } 或其他属性(名字)

l 4个作用域

  • Ø Page --< request--< session--< application
  • Ø 用EL表达式取值的时候,不指定作用域,则默认从page开始找
 1 <%
 2 
 3 request.setAttribute("name", "张飞");
 4 
 5 session.setAttribute("name", "关羽");
 6 
 7 %>
 8 
 9 ${ name } <br/>  //张飞
10 
11  
12 
13 ${ requestScope.name }<br/>
14 
15 ${ sessionScope.name }<br/>
  • Ø 设置属性

Map

 1 <%
 2 
 3 Map<String,String> m = new HashMap<String,String>();
 4 
 5 m.put("aa", "11");
 6 
 7 m.put("bb", "22");
 8 
 9 m.put("aa.bb", "11.22");
10 
11 request.setAttribute("m", m);
12 
13 %>
14 
15 ${ m.aa }<br/>
16 
17 ${ m["bb"] }<br/>
18 
19 ${ m.aa.bb }<br/>
20 
21 ${ m["aa.bb"] }<br/>

自定义对象

 1 <%
 2 
 3 User user = new User();
 4 
 5 user.setUsername("刘备");
 6 
 7 request.setAttribute("user1", user);
 8 
 9 %>
10 
11 <!—获取对象的属性值,底层调用的是getXXX()方法-->
12 
13 ${ user1.username }<br/>
14 
15 ${ user1['username'] }<br/>

 集合、数组

 1 <%
 2 
 3 List<String> list = new ArrayList<String>();
 4 
 5 list.add("111");
 6 
 7 list.add("222");
 8 
 9 list.add("333");
10 
11 Object[] arr = list.toArray();
12 
13 request.setAttribute("list", list);
14 
15 request.setAttribute("arr", arr);
16 
17 %>
18 
19 ${ list[1] }
20 
21 ${ arr[2] }
22 
23 <!-- 不会报越界错误,什么都不输出 -->
24 
25 ${ arr[3] }

 

JSTL标签库(JavaServer Pages Standard Tag Library,JSP标准标签库)

l  作用:代替java脚本,完成判断和循环等操作,通常和EL一起使用

l  步骤:

1)     导包

 

 

2)     新建jsp,使用taglib指导引入标签库

  1. 核心标签库core
  2. 格式化标签库fmt
  3. 函数库function
  4. 其他已经淘汰的库

3)     语法

 

uri: 引入的标签的地址

prefix: 给标签起个别名

 

 

l  附加内容

  • Ø JQuery

           一个javaScript框架(代码库),简化JS开发

           作用:优化HTML文档操作、事件处理、动画设计和Ajax交互

           基本用法:

  1. 事件绑定

$(“#XX”).click(function(){

           alert(“xxx”);

});

  1. 入口函数

$(function(){

           alert(“xxx”);

});

window.onload 只能定义一次,如果定义多次,后边的会将前边的覆盖掉, $(function)可以定义多次的。

posted @ 2019-08-03 10:17  啊湫的标准大横按  阅读(122)  评论(0)    收藏  举报