jsp与El,jstl知识点总结归纳
jsp与El,jstl知识点总结归纳
jsp部分
一.jsp的三大指令
page ,include,taglib
1.jsp中的page指令
<% page %>—设置jsp
例如:
<%@ page language=”Java” contentType=”text/html; charset=UTF-8”
pageEncoding=”UTF-8”%>
<%@ page import=”java.util.List” %>
<%@ page import=”java.util.ArrayList”%>
<%@ page import=”java.util.Map”%>
<%@ page import=”java.util.HashMap”%>
<%@ page import=”domain.User” %>
关键字:
language 语言 Java
contentType 设置浏览器打开jsp时候的字符集的编码
pageEncoding 设置文件保存到硬盘,以及生成Servlet后,Servlet保存到硬盘上的编码
import 一般引入类对象,可以出现多次
autoFlush :设置jsp的缓存自动刷新,true自动刷出
buffer :设置JSP的缓冲区的大小,默认8kb
session :设置在JSP中是否可以直接使用session对象.默认值是true.
isELIgnored :设置在JSP中是否忽略EL表达式.默认值是false不忽略.
errorPage :设置错误友好页面的提示.
isErrorPage :通过这个设置显示JSP的错误信息.
- jsp的include指令,指示JSP包含其他的页面
<%@ include file=”logo.jsp”%>
<%@ include file =”menu.jsp” %>BODY部分
<%@ include file=”footer.jsp” %>
jsp中的taglib 指令 指示jsp引入jsp标签库
<%@ taglib rui=”标签的uri路径” prefix=”标签的别名”%>
例如:<%@ taglib uri=”http://java.sun.com/jsp/jstl/core” prefix=”c” %>
引入jstl库二:内置对象和四个域范围
1.四个域
PageScope : 当前页面中, pageContext PageContext
RequestScope: 一次请求范围 request
SessionScope: 一次回话范围 session HttpSession
ApplicationScope 应用范围 application ServaletContext
2.内置对象
jsp的内置对象:在jsp中可以直接使用的对象
JSP中9大内置对象
request HttpServletRequest getParameter(),setAttribute(String name,Object value);
response HttpServletResponse setHeader(String name,String value);getOutputStream();getWriter();
session HttpSession setAttribute();getAttribute();
application ServletContext setAttribute();getAttribute();
page Object toString();wait();
pageContext PageContext setAttribute();getAttribute();
config ServletConfig getServletName();getServletContext();
out JspWriter write(),print();
exception Throwable getMessage(),getCause(); 设置isErrorPage=”true”三:EL&&jstl
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ page import="java.util.List" %>
<%@ page import="java.util.ArrayList"%>
<%@ page import="java.util.Map"%>
<%@ page import="java.util.HashMap"%>
<%@ page import="domain.User" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<h1> El获取数据的功能</h1>
<%
pageContext.setAttribute("name", "马云");
request.setAttribute("name", "马化腾");
session.setAttribute("name", "李彦宏");
application.setAttribute("name", "雷军");
%>
<%-- ${pageContext.setAttribute("name", "马云")} --%>
<!-- el获取 -->
${pageScope.name}
${requestScope.name}
${sessionScope.name}
${applicationScope.name}
<br/>
<!--${name}类似于findAll(name) 先从page,没有找到后去request,session,application
但是需要注意的是: 若第一个域(page)里面有name 则不会进行下一个域 的查询
-->
${name}
<br/>
<span> ---------------------------------</span>
<h1>数组的获取</h1>
<%
String[] arrs={"马云","马化腾","雷军","李彦宏"};
// 左边的 arrs 其标记作用,右边的是数组
pageContext.setAttribute("arrs", arrs);
%>
${ arrs[0]}
${ arrs[1]}
${ arrs[2]}
${ arrs[3]}
<br/>
<c:forEach var="i" items="${arrs}">
${i}
</c:forEach>
<h1>获取集合中的数据</h1>
<%
List<String> list = new ArrayList<>();
list.add("马云");
list.add("马化腾");
list.add("雷军");
list.add("李彦宏");
/* pageContext.setAttribute("list", list); */
request.setAttribute("tsil", list);
%>
<br/>
<!-- list,tsil 是
setAttribute(String name,Object value)
name而已
-->
${tsil[0]} <!-- 马云 -->
${list[1]}
${list[2]}
${list[3]}
<br/>
<!-- 利用jstl标签库来进行遍历 -->
<!-- 同样是需要注意 items="${tsil}" 获取的也是list集合存储的名称 -->
<c:forEach var="a" items="${tsil}">
${a}
</c:forEach> <h1> Map集合</h1>
<%
Map<String,String> map = new HashMap<String,String>();
map.put("aaa","马云");
map.put("bbb","马化腾");
map.put("ccc","李彦宏");
map.put("ddd.eee","雷军");
pageContext.setAttribute("pam", map);
%>
<!--El表达式获取 -->
${pam.aaa}
${pam.bbb}
${pam.ccc}
${pam["ddd.eee"]}
<br/>
<!--jstl 遍历 -->
<c:forEach var="entry" items="${pam}">
${entry.key}--${entry.value}
<br/>
</c:forEach>
<!--
list集合存贮跟数组是一样的, 直接的arr[0],list[0]
但是 map集合的取值就不一样了, map.aaa, map.ccc ,或map["ddd.eee"]
-->
<h1> 获取对象的集合</h1>
<%
User user1 = new User(1,"马云","123");
User user2 = new User(2,"马化腾","123");
User user3 = new User(3,"李彦宏","321");
User user4 = new User(4,"雷军","456"); List<User> userList = new ArrayList<User>();
userList.add(user1);
userList.add(user2);
userList.add(user3);
userList.add(user4); pageContext.setAttribute("userList", userList);
%>
<!-- EL表达式获取 -->
${ userList[0].id } - ${ userList[0].username } - ${ userList[0].password }<br/>
${ userList[1].id } - ${ userList[1].username } - ${ userList[1].password }<br/>
${ userList[2].id } - ${ userList[2].username } - ${ userlist[2].password }<br/>
${ userList[3].id } - ${ userList[3].username } - ${ userlist[3].password }<br/>
<!--jstl遍历 -->
<c:forEach var="user" items="${userList}">
${ user.id } -${ user.username } - ${ user.password }</br>
</c:forEach> </body>
</html>
jsp与El,jstl知识点总结归纳的更多相关文章
- 基础-session,cookie,jsp,EL,JSTL
会话可以简单理解为:用户打开一个浏览器,点击多个超链接,访问服务器多个web资源,然后关闭浏览器,整个过程称之为一个会话. kookie是在服务器端创建的,返回给浏览器,在浏览器的目录中保存了,下一次 ...
- 第75节:Java的中的JSP,EL和JSTL
第75节:Java中的JSP,EL和JSTL 哭吧看不完的!!! Cookie和`Session 请求转发和重定向的区别: 地址不一样 请求次数也不一样 数据无法传递 4.跳转范围有限制 效率 请求转 ...
- 【转】JSP中的JSTL与EL表达式用法及区别
对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念JSTL一般要配合EL ...
- jsp中的JSTL与EL表达式用法及区别
对于JSTL和EL之间的关系,这个问题对于初学JSP的朋友来说,估计是个问题,下面来详细介绍一下JSTL和EL表达式他们之间的关系,以及JSTL和EL一些相关概念! EL相关概念 JSTL一般要配合E ...
- 动态页面技术JSP/EL/JSTL
本节内容: jsp脚本和注释 jsp运行原理 jsp指令(3个) jsp内置/隐式对象(9个) jsp标签(动作) EL技术 JSTL技术 JavaEE的开发模式 动态页面技术:就是在html中嵌入j ...
- JavaEE之动态页面技术(JSP/EL/JSTL)
动态页面技术(JSP/EL/JSTL) JSP技术 jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%= ...
- JavaWeb之动态页面技术JSP/EL/JSTL
一.JSP技术 1.jsp脚本和注释 jsp脚本: 1)<%java代码%> ----- 内部的java代码翻译到service方法的内部 2)<%=java变量或表达式> - ...
- JavaWeb之JSP & EL & JSTL
JSP & EL & JSTL JSP Java Server Page 什么是JSP 从用户角度看,就是一个网页.从程序员角度看,就是一个Java类,它继承Servlet,所以可以说 ...
- JSP和EL和JSTL
什么是JSP Java Server Page的缩写从用户角度看待,就是一个网页从程序员角度看待,其实是一个java类,它继承了Servlet,所以可以直接说jsp就是一个Servlet 为什么会有J ...
随机推荐
- 输出流 写文件 文本 换行nextLine
FileOutputStream fos = new FileOutputStream( "c:\\test.txt "); String nextLin ...
- [再寄小读者之数学篇](2014-11-19 $\sin(x+y)=\sin x\cos y+\cos x\sin y$)
$$\bex \sin(x+y)=\sin x\cos y+\cos x\sin y. \eex$$ Ref. [Proof Without Words: Sine Sum Identity, The ...
- 谈谈final、finally和finalize
final: final为修饰符, 如果类被声明为final,则不能派生新子类. 如果变量被声明为final,则必须在声明时初始化,在以后的引用只能读取,不可修改. 如果方法被final声明,则只能使 ...
- Python面向对象3
一.内部类 内部类就是在类的内部定义的类,主要目的是为了更好的抽象现实世界. 二.魔术方法(构造函数和析构函数) #!usr/bin/python #coding:utf8 class Milo(): ...
- log4net--帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具
1. log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台.文件.数据库等)的工具. 2. Log4net的结构如下 ...
- PHP中mysql_affected_rows()和mysql_num_rows()区别
mysql_affected_rows -- 取得前一次 MySQL 操作所影响的记录行数mysql_num_rows -- 函数返回结果集中行的数目. config.php <?php hea ...
- Camera拍照声设定
在某些国家(比如Japan),为了防止偷拍,强制拍照声是需要从Speaker出来的(即使插入耳机的情况下). 实现该功能比较简单的方法就是将拍照声类型设置为Ringtone 或 Alarm 或 Not ...
- Windows Server 2003单网卡搭建VPN
Windows Server 2003单网卡搭建VPN 1.打开[控制面板] --> [管理工具] --> [路由和远程访问] 2.鼠标右击你要管理的电脑 在弹出式菜单中选中[配置并启 ...
- 初识Rest、JSR、JCP、JAX-RS及Jersey
REST:即表述性状态传递(英文:Representational State Transfer,简称REST)是一种分布式应用的架构风格,也是一种大流量分布式应用的设计方法论. JSR是Java S ...
- 【转】类中如何引用server.MapPath()
转至:http://blog.csdn.net/tangjianft/article/details/5357151 今天在写一个上传图片方法时遇到了两个问题:1.public string getI ...