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 ...
随机推荐
- C++ STL,list vector区别
顺序性容器: 向量 vector : 是一个线性顺序结构.相当于数组,但其大小可以不预先指定,并且自动扩展.它可以像数组一样被操作,由于它的特性我们完全可以将vector 看作动态数组.在创建一个 ...
- 27 GroupSock概述(一)——live555源码阅读(四)网络
27 GroupSock概述(一)——live555源码阅读(四)网络 27 GroupSock概述(一)——live555源码阅读(四)网络 简介 1.网络通用数据类型定义 2.Tunnel隧道封装 ...
- sql server 2008笔记
sql server 2008开启远程访问数据库 1.以windows验证模式进入数据库管理器. 第二步:右击sa,选择属性: 在常规选项卡中,重新填写密码和确认密码(改成个好记的).把强制实施密码策 ...
- gedit配置记
gedit配置记 起因 突然感觉sublime用用这里那里不方便(虽然很好看> >),然后稍微手调了一下gedit发现gedit还是非常可用的(雾)... 阶段一 我感觉sublime各种 ...
- phpcms采集地址中为相对路径解决方法
1.修改数据库v9_collection_node,增加两个字段replace_from,replace_to(varchar(200)) 2./phpcms/modules/collection/t ...
- 【iOS开发-22】navigationBar导航条和navigationItem设置:基本搞定导航条上的文字和按钮以及各种跳转
http://blog.csdn.net/weisubao/article/details/39646739?utm_source=tuicool&utm_medium=referral (1 ...
- TCP三次握手、四次挥手及状态转换图
TCP/IP通信的三次握手如下: TCP是主机对主机层的传输控制协议,提供可靠的连接服务: 位码即tcp标志位,有6种标示:SYN(synchronous建立联机) .ACK(acknowledgem ...
- java.lang.UnsatisfiedLinkError: Couldn't load hyphenate_av from loader dalvik.system.PathClassLoader
android studio引入第三方库时报如下异常. 06-15 16:50:24.477 9497-9497/easemobim.test.com.easemobim E/AndroidRunti ...
- Spring MVC配置静态资源的正常访问
SpringMVC如果过滤器过滤范围配置了/或者/*,那么框架会过滤所有请求,包括自己写的请求和静态资源请求,这样静态资源就不能正常加载,包括js文件.css文件.图片资源访问的时候都会出现404页面 ...
- ACM/ICPC 之 一道不太简单的DP面试题(Geeksforgeeks)
题面来源:geeksforgeeks/1993 题解:geeksforgeeks 题目简述:给一个m*n的矩阵,计算从(1,1)到(m,n)的所有不回退路径中,经过k次转向后的路径有多少条 输入T个样 ...