JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)
1、JSP常用标签
* 只要支持JSP文件,常用标签有可以直接使用
* 格式: jsp:xxxx
* jsp:forward ,完成jsp页面的转发
* page属性:转发的地址
<% request.setCharacterEncoding("UTF-8"); %>
<jsp:forward page="/index.jsp">
<jsp:param value="张三" name="userName"/>
</jsp:forward>
浏览这个页面会跳转到index.jsp页面,浏览器地址不变
${param.userName}
* 运行原理
JSP引擎,处理JSP文件,自己解析特定的标签,然后将其编译成java代码
jsp:forward -- application.getRequestDispatcher("/forward.jsp");
* 注意:在JSP页面中可以不用斜杠开头
* String path = getAbsolutePathRelativeToContext(relativeUrlPath);自己单独处理,如果不是/开头,自动添加 * jsp:include ,动态包含,在执行当前servlet时才进行文件的合并
* page属性:包含的页面
* 执行原理
* org.apache.jasper.runtime.JspRuntimeLibrary.include
* request.getRequestDispatcher.include
* jsp:param,设置参数,与jsp:forward或jsp:include一起使用
* name属性:指定参数的名称
* value属性:指定参数的值 * jsp:useBean标签:创建class指定的类,并将此类添加到作用域中
* class属性:指定类的完整路径名
* id属性:确定对象的实例对象
<jsp:useBean id="cal" class="cn.itcast.domain.Calculator"></jsp:useBean> * jsp:setProperty标签:给指定的Javabean对象设置属性值
* name属性:已有的JavaBean在web域中的对象
* property属性:确定需要使用的Javabean的属性
* value属性:确定设置的具体的内容
* param属性:获得指定参数的内容
* 注意:当内容是null时,将不会赋值
<jsp:setProperty property="*" name="cal" param=""/>获取所有cal值
param为获取某个参数的值,比如获取<input type="text" name="firstNum"/>,可以这样写<jsp:setProperty property="*" name="cal" param="firstNum"/>
如果param和property的值相同,可以省略不写
<jsp:setProperty property="firstNum" name="cal" value="1"/>给cal对象的firstNum属性设置值为1 2、EL表达式的运算符
* 执行运算
* .
* 获得当前对象的属性的值
* []
* 书写数字及获得下标所对应的值
* 书写属性名称,获得相应的值
* 转义字符:
* \
* 使EL表达式失效
* 算术运算符、逻辑运算符、关系运算符
* empty 三目运算符
${empty user}返回true或false 3.JSTL标签库
1、使用标签库的流程
* 导包(Myeclipse自带)
* 在当前的JSP页面头部声明引用
* <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
* taglib指令:确定所使用的标签库
* uri:确定使用的标签库,具体的名称
* prefix:为当前标签库起一个别名
* 使用
* <prefix:xxx或者<别名:xxx
2、域对象操作
* set:给web域设置值的
var 属性:属性的名称
value属性:属性的值
scope属性:确定作用域
* page
* request
* session
* application
<c:set var="gf" value="fengjie" scope="page"></c:set>
<c:set var="gf" value="fengjie" scope="request"></c:set>
<c:set var="gf" value="fengjie" scope="session"></c:set>
<c:set var="gf" value="fengjie" scope="application"></c:set>
\${gf} -- ${requestScope.gf}<br/>
\${gf} -- ${requestScope.gf}<br/>
\${gf} -- ${sessionScope.gf}<br/>
\${gf} -- ${applicationScope.gf}<br/>
* remove:删除指定名称的web域的值
* var属性:确定名称
* 注意:删除所有作用域的内容
<c:remove var="gf"/>
* out:将内容输出
* value:指定内容
* 注意:可以使用EL表达式
* escapeXml:是否转义html规定的字符
* 默认值true,转义
* default:当前输出内容为空时,显示默认值
<c:set var="gf" value="<a href='#'>fengjieout</a>" scope="page"></c:set>
<c:out value="${gf2}" default="没有值"></c:out> 3、数据操作
* if标签:逻辑判断
* test属性:逻辑值true|false
* 支持EL表达式
<c:set var="user" value="xx"></c:set>
<c:if test="${empty user}">
user对象是null <br/>
</c:if>
* choose标签:确定一组可以进行选择的显示结果
* 必须放置when标签
* 子标签
* when标签:逻辑判断
* test属性:填写逻辑值
* otherwise标签:处理没有处理项,默认项
<c:choose>
<c:when test="${empty user}">
when:user null
</c:when>
<c:when test="${!empty user2}">
when:user not null
</c:when>
<c:otherwise>
没有任何处理项
</c:otherwise>
</c:choose>
* forEach标签:进行迭代,每一条信息将显示在标签体
* items属性:确定遍历的对象
* 支持EL表达式
或
* begin属性:
* end属性:
* 共有
* var属性:确定遍历变量
* step属性:步长 i+=2 i++ -- i+=1
<c:forEach items="${headerValues}" var="hvs">
\${hvs} -- ${hvs.key}:
<c:forEach items="${hvs.value}" var="h">
${h} *****
</c:forEach>
<br/>
</c:forEach>
*url标签:生成当前响应的相对于web站点的完成路径
* value属性:指定的页面的位置
* 注意:内容如果/开头,相对于当前web项目
<c:url var="demoUrl" value="/demo1/calculator.jsp"></c:url>
JavaWeb学习之JSP常用标签、EL表达式的运算符、JSTL标签库(6)的更多相关文章
- JavaWeb学习笔记(八)—— EL表达式
一.EL表达式概述 在JSP开发中,为了获取Servlet域对象中存储的数据,经常需要书写很多Java代码,这样的做法会使JSP页面混乱,难以维护.为此,在JSP2.0规范中提供了EL表达式.EL全名 ...
- javaweb学习总结(二十九)——EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- javaWeb学习总结(10)- EL表达式
一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获取数据 EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数 ...
- [转]javaweb学习总结(二十九)——EL表达式
原文地址:https://www.cnblogs.com/xdp-gacl/p/3938361.html 一.EL表达式简介 EL 全名为Expression Language.EL主要作用: 1.获 ...
- JavaWeb学习总结(十七)EL表达式
语法格式: ${expression} 1. 表达式支持算术运算符合逻辑运算符 <%@ page language="java" contentType="text ...
- JavaWeb(七)Cookie,EL表达式,标准标签库
Cookie Cookie概述 Cookie译为小型文本文件或小甜饼,Web应用程序利用Cookie在客户端缓存服务器端文件.Cookie是以键值对形式存储在客户端主机硬盘中,由服务器端发送给客户端, ...
- JavaWeb -- Jsp中的 EL表达式
lEL 全名为Expression Language.EL主要作用: l获取数据: •EL表达式主要用于替换JSP页面中的脚本表达式,以从各种类型的web域 中检索java对象.获取数据.(某个web ...
- jsp页面使用EL表达式 使用Jstl标签库中的标签,需要引入jstl.jar和standard.jar
spring boot 中使用jstl 首先在pom中加入 <dependency> <groupId>jstl</groupId> <artifactId& ...
- jsp不解析el表达式,不识别jstl标签,找不到http://java.sun.com/jsp/jstl/core
问题描述: jsp页面中el表达式,例如:${pageContext.request.contextPath},原样呈现,未被解析. 解决方案: 为jsp页添加page指令如下: <%@ pag ...
随机推荐
- border-collapse实现表格细线边框
虽然在xhtml+css 时代 table的使用越来越少,但需要布局数据型元素,用table还是很不错的选择. 用table制作表格的时候美观也很重要,其中的边框.在HTML中,表格的默认样式大概是这 ...
- 粒子系统模块(Particle System Modules40)
粒子系统模块(Particle System Modules40) 粒子系统模块(忍者飞镖) 粒子系统(忍者飞镖)(Particle System (Shuriken)) 用模块描述粒子一段时间内的行 ...
- OpenCV成长之路(7):图像滤波
滤波实际上是信号处理里的一个概念,而图像本身也可以看成是一个二维的信号.其中像素点灰度值的高低代表信号的强弱. 高频:图像中灰度变化剧烈的点. 低频:图像中平坦的,灰度变化不大的点. 根据图像的高频与 ...
- 十进制转为N进制
昨天笔试遇到的题,如果是正数,不断以余数做除法即可: void convert(int num, int N, vector<char>& data) { int number = ...
- div元素抓取
var files = $(".button").find("input[type='image']"); files.each(function() { $( ...
- django xadmin多个model的数据渲染在统一个template中
adminx.py demo class ModelAdmin(object): #.... def get_context(self): context = super(SimCardService ...
- 转:ASP.NET 使用Ajax
之前在Ajax初步理解中介绍了对Ajax的初步理解,本文将介绍在ASP.NET中如何方便使用Ajax,第一种当然是使用jQuery的ajax,功能强大而且操作简单方便,第二种是使用.NET封装好的Sc ...
- 为MongoDB创建一个Windows服务
一:选型,根据机器的操作系统类型来选择合适的版本,使用下面的命令行查询机器的操作系统版本 wmic os get osarchitecture 二:下载并安装 附上下载链接 点击安装包,我这里是把文件 ...
- C#跨线程操作控件
1.首先通过按键创建子线程: 创建子线程,子线程调用changeText方法. private void btnOK_Click(object sender, EventArgs e) { Threa ...
- HttpServletRequest中得到各种信息
1.获得domain: StringBuffer url = request.getRequestURL(); String domain = url.delete(url.length() - re ...