Java Web学习(27): JSTL学习(五)

<c:import>标签

<c:import>标签提供<jsp:include>动作标签的所有的功能动作,但也可以包含绝对URL。例如,允许使用导入

标签包含的内容从一个不同的Web站点或FTP服务器。

同<jsp:include>标签的区别:只能包含同一个Web应用中的文件,而<c:import>标签可以包含其他Web应用中

的文件,甚至是网络上的资源。

<c:import>标签具有以下属性:

<c:import>标签的用法:

可以把其他静态或动态文件包含到本JSP页面。

url属性指的是被导入资源的URL路径;

context属性指的是相同服务器下其他Web工程,必须以"/"开头;

var属性指的是以String类型存入被包含文件的内容;

scope属性指的是var变量的JSP范围;

charEncoding属性指的是被导入文件的编码格式 ;

varReade属性指的是以Reader类型存储被包含文件内容;

context属性引入的内容是webapps下的其他的Web project。

实例代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!-- 导入JSTL标签库 -->
<%@ 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>JSTL使用</title>
</head>
<body>
     <h1>JSTL标签的使用</h1>
     <hr>
     <!-- import标签的用法 -->
     <!-- 导入网络上的绝对路径 -->
     <c:catch var="error09">
            <c:import url="https://www.baidu.com" charEncoding="UTF-8"  />
     </c:catch>
     <c:out value="${error09}" /><br/>
     <!-- 导入相对路径文件 -->
     <c:catch var="error08">
            <c:import url="test.txt" charEncoding="UTF-8" />
     </c:catch>
     <c:out value="${error08}" /><br/>
     <!-- var和scope属性的用法 -->
     <c:catch var="error07">
            <c:import url="test.txt" var="test" scope="session" charEncoding="UTF-8" />
     </c:catch>
     <c:out value="${error07}" />
     <c:out value="import标签存储的test字符串变量值为:${sessionScope.test}" /><br/>
     <!-- content属性的用法 -->
     <c:catch var="error06">
            <c:import url="/date.jsp" context="/FirstWebApp" charEncoding="UTF-8" />
     </c:catch>
     <c:out value="${error06}" />   
</body>
</html>

结果:

<c:redirect>标签和<c:param>标签

<c:redirect>标签将浏览器重定向到一个备用URL提供自动URL重写,它支持上下文相关的URL和支持

<c:param>标签。

<c:redirect>标签具有以下属性:

<c:param>标签允许适当的URL请求参数到指定的URL和任何必要的URL编码。在一个<c:param>标签的name

属性表示参数的名称,value属性表示的参数值。

<c:param>标签具有以下属性:

<c:redirect>标签的用法:

该标签用来实现请求的重定向,同事可以在url中加入指定的参数;

url属性用于指定重定向页面的地址,可以是一个String类型的绝对路径或相对地址;

context属性用于导入其他Web应用中的页面。

实例:

test.jsp页面代码:

结果:

<c:url>标签

<c:url>标签格式化成一个字符串格式的URL,并将其存储到变量中。这个标签会在必要时自动执行URL重写。

var属性指定的变量将包含格式化的URL。JSTL url标签只是response.encodeURL()方法的调用一个替代方法。URL

标记提供的唯一的真正的优势是正确的URL编码,包括子<c:param>标签指定的任何参数。

<c:url>标记具有以下属性:

<c:url>标签的用法:

该标签用于动态生成一个String类型的URL,可以同<c:param>标签共同使用,也可以使用HTML中的<a>标签

实现超链接。

var属性是将url路径存储在的变量中;

value属性表示url路径值;

scope属性是var变量的范围。

实例:

结果:

JSTL函数

需要在页面添加:

<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>

先来介绍几个简单常用的JSTL函数:

1)使用fn:contains()函数判断输入的字符串是否包含指定的子串。

使用fn:contains()函数的语法如下:

boolean contains(java.lang.String, java.lang.String) 

2)fn:containsIgnoreCase()函数判断输入的字符串是否包含指定的子串,搜索时忽略大小写。

使用fn:containsIgnoreCase()函数的语法如下:

 boolean containsIgnoreCase(java.lang.String, java.lang.String)

3)fn:endsWith()函数判断输入的字符串是否与指定的后缀结束。

使用fn:endsWith()函数的语法如下所示:

boolean endsWith(java.lang.String, java.lang.String)

4)fn:startsWith() 函数判断输入的字符串是否为指定的子串开始。

使用fn:startsWith() 函数有以下语法:

 boolean startsWith(java.lang.String, java.lang.String)

5)fn:indexOf()函数返回在字符串中指定的子串的索引。

使用fn:indexOf() 函数的语法如下:

int indexOf(java.lang.String, java.lang.String)

6)fn:escapeXml()函数转义字符,可以解释为XML标记。

使用fn:escapeXml() 函数的语法如下:

java.lang.String escapeXml(java.lang.String))

实例代码:

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!-- 导入JSTL标签库 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!-- 导入JSTL函数库 -->
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<!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>JSTL使用</title>
</head>
<body>
    <h1>JSTL函数的使用</h1>
    <hr>
    <!-- contains函数使用 -->
    <c:out value=" Hello Word字符串是否包含Hello:${fn:contains(‘Hello World‘,‘Hello‘)}" /><br>
    <c:out value=" Hello Word字符串是否包含test:${fn:contains(‘Hello World‘,‘test‘)}" /><br>
    <!-- containsIgnoreCase函数使用 -->
    <c:out value=" Hello Word字符串是否包含hello(忽略大小写):${fn:containsIgnoreCase(‘Hello World‘,‘hello‘)}" /><br>
    <c:out value=" Hello Word字符串是否包含WORLD(忽略大小写):${fn:containsIgnoreCase(‘Hello World‘,‘WORLD‘)}" /><br>
    <!-- endsWith和startsWith函数使用 -->
    <c:out value=" Hello Word字符串是否以World结尾:${fn:endsWith(‘Hello World‘,‘World‘)}" /><br>
    <c:out value=" Hello Word字符串是否以Hello开头:${fn:startsWith(‘Hello World‘,‘Hello‘)}" /><br>
    <!-- escapeXml函数使用 -->
    <c:out value="${fn:escapeXml(‘<book>谁的青春不迷茫</book>‘)}"  /><br>
    <c:out value="<book>谁的青春不迷茫</book>"  /><br>
    <!-- indexOf函数使用 -->
    <c:out value=" Hello Word字符串中Hello出现的index值:${fn:indexOf(‘Hello World‘,‘Hello‘)}" /><br>
</body>
</html>

结果:

其他的JSTL函数:

对于其他的JSTL函数具体用法可以参考:http://www.yiibai.com/jstl

关于JSTL的学习就告一段落,对于其他的XML标签、SQL标签和格式化标签我们使用到的时候再进行介绍,学习

的过程是无止境的。

时间: 2024-12-23 03:00:37

Java Web学习(27): JSTL学习(五)的相关文章

java web (j2ee)学习路线 —— 将青春交给命运

RESON TO DO JAVA WEB:1.JAVA WEB(企业级)  2.Android和iOS过于火爆并且不兼容 一.JAVA WEB开发需要的知识储备 1.      基本的网页设计语言:HTML.JavaScript.CSS 2.      制作动态网站:Java.JSP(servelt) 3.      数据库:MySQL.SQL Server.SQL Lite.Access.Oracle 4.      流行的框架:MVC思想和原理——了解Struts.Spring.Hibern

前端学习(27)~js学习(五): typeof和数据类型转换

变量的数据类型转换:将一种数据类型转换为另外一种数据类型. 通常有三种形式的类型转换: 转换为字符串类型 转换为数字型 转换为布尔型 typeof 运算符 typeof()表示“获取变量的数据类型”,返回的是小写,语法为:(两种写法都可以) // 写法1 typeof 变量; // 写法2 typeof(变量); typeof 这个运算符的返回结果就是变量的类型.那返回结果的类型是什么呢?是字符串. 返回结果: typeof 的代码写法 返回结果 typeof 数字 number typeof

Java web开发路线--Java学习资料汇总

Java web开发是什么? 先来说说java体系,包含:javaSE.javaEE.javaME,其实目前关注主要是javaEE,但学些javaEE必须先学习javaSE(因为这个是java基础).Java web开发其实是应用javaEE实现web应用的开发,是用Java技术来解决相关web互联网领域的技术总和. web开发主要包括前端开发和后端开发,前端主要是HTML.CSS.JS等相关技术,后端技术主要有JavaEE技术.数据库技术.文件存储技术等.java体系比较庞大,也是很多人比较迷

Java Web学习(3):Win7 64位操作系统搭建Java Web开发环境

一搭建Java Web开发环境的总体概览 工欲善其事必先利其器.学会搭建Java Web开发环境是学习JSP动态网站开发的最基本技能之一.主要介绍在 Windows 7 64位操作系统下搭建Java Web开发环境的过程,主要包括JDK的安装与配置.Tomcat的安装与配置. Eclipse IDE for Java EE Developers的安装与配置. 在这里推荐使用的: 1)Java  JDK 8.0 2)Server   Tomcat 8.0 3)IDE   Eclipse IDE f

java web 开发三剑客 -------电子书

Internet,人们通常称为因特网,是当今世界上覆盖面最大和应用最广泛的网络.根据英语构词法,Internet是Inter + net,Inter-作为前缀在英语中表示“在一起,交互”,由此可知Internet的目的是让各个net交互.所以,Internet实质上是将世界上各个国家.各个网络运营商的多个网络相互连接构成的一个全球范围内的统一网,使各个网络之间能够相互到达.各个国家和运营商构建网络采用的底层技术和实现可能各不相同,但只要采用统一的上层协议(TCP/IP)就可以通过Internet

Java Web开发中MVC设计模式简介

一.有关Java Web与MVC设计模式 学习过基本Java Web开发的人都已经了解了如何编写基本的Servlet,如何编写jsp及如何更新浏览器中显示的内容.但是我们之前自己编写的应用一般存在无条理性,对于一个小型的网站这样的编写没有任何问题,但是一但我们需要编写大型的web工程的话,我们现有的编写模式会造成web应用的可扩展性较差,而且一但出现问题不能准确的定位出问题出在哪里. Java是一门应用设计模式比较广泛的语言.目前主流提出的23种设计模式均可在Java语言编写的程序中所应用.目前

Java Web技术总结(目录)

来源于:http://www.jianshu.com/p/539bdb7d6cfa Java Web技术经验总结(一) Java Web技术经验总结(二) Java Web技术经验总结(三) Java Web技术经验总结(四) Java Web技术经验总结(五) Java Web技术经验总结(六) Java Web技术经验总结(七) Java Web技术经验总结(八) Java Web技术经验总结(九) Java Web技术经验总结(十) Java Web技术经验总结(十一) 文/杜琪(简书作者

经验之谈:循序渐进学习Java Web开发的五个阶段

Java web开发是Java开发中的主要方向,那什么是Java web开发呢,Java web开发就是基于J2SE的web应用程序开发,就是通过Java来解决互联网web应用的问题,互联网Web包含两个部分:web服务器和web客户端,Java语言在web服务器端的应用十分丰富,比如常用的Servlet.JSP等,总之,Java编程技术的到来给Web互联网的发展注入了一针强心剂,既然Java Web开发功能这么强大,那我们应如何循序渐进的学习Java Web开发呢?下面亦是美网络小编分为五个阶

Java Web学习(25): JSTL学习(三)

常用核心标签介绍 JSTL的核心标签共13个,从功能上可以分为4类: 1)表达式控制标签 <c:out>.<c:set>.<c:remove>.<c:catch> 2)流程控制标签 <c:if>.<c:choose>.<c:when>.<c:otherwise>   3)循环标签 <c:forEach>.<c:forTokens> 4)URL操作标签 <c:import>.&