前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JSP 基础知识

JSP 基础知识

作者头像
Remember_Ray
发布2020-01-21 10:47:13
8220
发布2020-01-21 10:47:13
举报
文章被收录于专栏:Ray学习笔记Ray学习笔记

JSP 指令

https://www.runoob.com/jsp/jsp-directives.html JSP指令用来设置与整个JSP页面相关的属性。

JSP指令语法格式:

指令

描述

<%@ page … %>

定义页面的依赖属性,比如脚本语言、error页面、缓存需求等等

<%@ include … %>

包含其他文件

<%@ taglib … %>

引入标签库的定义,可以是自定义标签

JSP 隐含对象

https://www.runoob.com/jsp/jsp-implicit-objects.html JSP支持九个自动定义的变量,江湖人称隐含对象。这九个隐含对象的简介见下表:

对象

描述

request

HttpServletRequest类的实例

response

HttpServletResponse类的实例

out

PrintWriter类的实例,用于把结果输出至网页上

session

HttpSession类的实例

application

ServletContext类的实例,与应用上下文有关

config

ServletConfig类的实例

pageContext

PageContext类的实例,提供对JSP页面所有对象以及命名空间的访问

page

类似于Java类中的this关键字

Exception

Exception类的对象,代表发生错误的JSP页面中对应的异常对象

控制流语句

JSP提供对Java语言的全面支持。您可以在JSP程序中使用Java API甚至建立Java代码块,包括判断语句和循环语句等等。

判断语句

if…else块,请看下面这个例子:

代码语言:javascript
复制
<%! int day = 3; %> 

<% if (day == 1 | day == 7) { %>
      <p>今天是周末</p>
<% } else { %>
      <p>今天不是周末</p>
<% } %>

现在来看看switch…case块,与if…else块有很大的不同,它使用out.println(),并且整个都装在脚本程序的标签中,就像下面这样:

代码语言:javascript
复制
<%! int day = 3; %> 

<% 
switch(day) {
case 0:
   out.println("星期天");
   break;
case 1:
   out.println("星期一");
   break;
case 2:
   out.println("星期二");
   break;
case 3:
   out.println("星期三");
   break;
case 4:
   out.println("星期四");
   break;
case 5:
   out.println("星期五");
   break;
default:
   out.println("星期六");
}
%>

循环语句

在JSP程序中可以使用Java的三个基本循环类型:for,while,和 do…while。

让我们来看看 for 循环的例子,以下输出的不同字体大小的”菜鸟教程”:

代码语言:javascript
复制
<%! int fontSize; %> 

<%for ( fontSize = 1; fontSize <= 3; fontSize++){ %>
   <font color="green" size="<%= fontSize %>">
    菜鸟教程
   </font><br />
<%}%>

将上例改用 while 循环来写:

代码语言:javascript
复制
<%! int fontSize=0; %> 

<%while ( fontSize <= 3){ %>
   <font color="green" size="<%= fontSize %>">
    菜鸟教程
   </font><br />
<%fontSize++;%>
<%}%>

浏览器访问,输出结果为(fontSize 初始化为0,所以多输出了一行)

JSP 标准标签库(JSTL)

https://www.runoob.com/jsp/jsp-jstl.html JSP标准标签库(JSTL)是一个JSP标签集合,它封装了JSP应用的通用核心功能。 JSTL支持通用的、结构化的任务,比如迭代,条件判断,XML文档操作,国际化标签,SQL标签。 除了这些,它还提供了一个框架来使用集成JSTL的自定义标签。

引用

代码语言:javascript
复制
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>

核心标签

标签

描述

<c:out>

用于在JSP中显示数据,就像<%= … >

<c:set>

用于保存数据

<c:remove>

用于删除数据

<c:catch>

用来处理产生错误的异常状况,并且将错误信息储存起来

<c:if>

与我们在一般程序中用的if一样

<c:choose>

本身只当做<c:when>和<c:otherwise>的父标签

<c:when>

<c:choose>的子标签,用来判断条件是否成立

<c:otherwise>

<c:choose>的子标签,接在<c:when>标签后,当<c:when>标签判断为false时被执行

<c:import>

检索一个绝对或相对 URL,然后将其内容暴露给页面

<c:forEach>

基础迭代标签,接受多种集合类型

<c:forTokens>

根据指定的分隔符来分隔内容并迭代输出

<c:param>

用来给包含或重定向的页面传递参数

<c:redirect>

重定向至一个新的URL.

<c:url>

使用可选的查询参数来创造一个URL

格式化标签

代码语言:javascript
复制
<%@ taglib prefix="fmt" 
           uri="http://java.sun.com/jsp/jstl/fmt" %>

标签

描述

fmt:formatNumber

使用指定的格式或精度格式化数字

fmt:parseNumber

解析一个代表着数字,货币或百分比的字符串

fmt:formatDate

使用指定的风格或模式格式化日期和时间

fmt:parseDate

解析一个代表着日期或时间的字符串

fmt:bundle

绑定资源

fmt:setLocale

指定地区

fmt:setBundle

绑定资源

fmt:timeZone

指定时区

fmt:setTimeZone

指定时区

fmt:message

显示资源配置文件信息

fmt:requestEncoding

设置request的字符编码

JSTL函数

代码语言:javascript
复制
<%@ taglib prefix="fn" 
           uri="http://java.sun.com/jsp/jstl/functions" %>

函数

描述

fn:contains()

测试输入的字符串是否包含指定的子串

fn:containsIgnoreCase()

测试输入的字符串是否包含指定的子串,大小写不敏感

fn:endsWith()

测试输入的字符串是否以指定的后缀结尾

fn:escapeXml()

跳过可以作为XML标记的字符

fn:indexOf()

返回指定字符串在输入字符串中出现的位置

fn:join()

将数组中的元素合成一个字符串然后输出

fn:length()

返回字符串长度

fn:replace()

将输入字符串中指定的位置替换为指定的字符串然后返回

fn:split()

将字符串用指定的分隔符分隔然后组成一个子字符串数组并返回

fn:startsWith()

测试输入字符串是否以指定的前缀开始

fn:substring()

返回字符串的子集

fn:substringAfter()

返回字符串在指定子串之后的子集

fn:substringBefore()

返回字符串在指定子串之前的子集

fn:toLowerCase()

将字符串中的字符转为小写

fn:toUpperCase()

将字符串中的字符转为大写

fn:trim()

移除首尾的空白符

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-11-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • JSP 指令
  • JSP 隐含对象
  • 控制流语句
    • 判断语句
      • 循环语句
      • JSP 标准标签库(JSTL)
        • 引用
          • 核心标签
            • 格式化标签
              • JSTL函数
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档