在一个JSP页面中,可以包括指令标识、HTML代码、JavaScript代码、嵌入的Java代码、注释和JSP动作标识等内容。但是这些并不是JSP页面所必须的。

1 指令标识
指令标识主要用于设定整个JSP页面范围内都有效的相关信息。它被服务器所解释执行,并不会产生任何内容输出到网页中。
JSP指令标识的语法格式如下:
<%@ 指令名 属性1="属性值1" 属性2="属性值2"...%>
参数说明:
指令名:用于指定指令名称,在JSP中包含page、include和taglib 3条指令
属性:用于指定属性名称,不同的指令包含不同的属性。在一个指令中,可以设置多个属性,各属性之间用逗号或者空格分隔
属性值:用于指定属性值

1.1 page指令
page指令是JSP页面中最常用的指令,用于定义整个JSP页面的相关属性,这些属性在JSP被服务器解析成Servlet时会被转换为相应的Java程序代码。
<%@ page attr1="value1" attr2="value2" ...%>
1、language属性
2、extends属性
3、import属性
4、pageEncoding属性
5、contentType属性
6、session属性
7、buffer属性
8、autoFlush属性
9、isErrorPage属性
10、errorPage属性

1.2 include指令
文件包含指令include,通过该指令可以在一个JSP页面中包含另一个JSP页面。不过该指令是静态包含,也就是被包含文件中所有内容都会被原样包含到该JSP页面中,即使被包含文件中有JSP代码,在包汉中也不会被编译执行。使用include指令,最终将生成一个文件,所以在被包含和包含的文件中,不能有相同名称的变量。
<%@include file="path"%>
注意:在应用include指令进行文件包含时,为了使整个页面的层次结构不发生冲突,建议在被包含页面中将<html> <body>等标记删除。因为在包含该页面的文件已经制定这些标记

1.3 taglib指令
在JSP文件中么可以通过taglib指令标识声明该页面中所使用的标签库,同时引用标签库,并制定标签的前缀。在页面中引用标签库之后,就可以通过前缀来引用标签库中的标签。
<%@taglib prefix="tagPrefix" uri="tagURI"%>

2 脚本标识
在JSP页面中,脚本标识能够方便灵活地生成页面中的动态内容。
JSP的脚本标识包含3个部分,即JSP表达式 声明标识和代码片段。

2.1 JSP表达式
用于向页面中输出信息,其语法格式如下:
<%= 表达式%>
表达式可以是任何java的完整表达式。该表达式的最终运算结果将被转换为字符串。
注意%与=之间不能够有空格

2.2 声明标识
声明标识用于在JSP页面中定义全局的变量或方法。通过标识定义的变量和方法可以被整个JSP页面访问。
<%! 声明变量或方法的代码 %>

2.3 代码片段
所谓代码片段就是在JSP页面中嵌入的Java代码或脚本代码。代码片段将在页面请求的处理期间被执行,通过Java代码可以定义变量或流程控制语句灯;通过脚本代码可以应用JSP的内置对象在页面输出内容、处理请求和响应、访问session会话等。
<%Java代码或者脚本代码%>

3 JSP动作标识

3.1 包含文件标识<jsp:include>

用于向当前页面中包含其他文件。

<jsp:include page="url" flush="false|true">
子动作标识<jsp:param>
</jsp:include>

3.2 请求转发标识<jsp:forward>

可以将请求转发到其他的Web资源,例如另一个JSP页面、HTML页面、servlet灯。执行请求转发后,当前页面将不再被执行,而失去执行该标识指定的目标页面。

Java Web开发——JSP基本语法杂记的更多相关文章

  1. Java Web开发——HTML CSS JavaScript 杂记

    HTML是一种在互联网上常见的网页制作标注性语言,并不能算作一种程序设计语言.因为它相对程序设计语言来说缺少了其应所有的特征.对于网站设计人员来说,只使用HTML是不够的,需要在页面中引入CSS样式. ...

  2. Java Web 之 Jsp 常用语法总结

    一.小脚本语法 <% code fragment %> 语法编写为XML的形式,效果相同,如下所示: <jsp:scriptlet> code fragment </js ...

  3. Java Web开发技术教程入门-JSP基本语法和九大内置对象

    这两天气温逐渐升高,好想把自己泡在冰块里······ 恩嗯摁蒽恩嗯摁蒽恩嗯摁蒽恩嗯摁蒽.......今天阅读到了这本书的第四章-JSP基本语法.经过第一天的阅读,我们明白JSP技术是Java Web开 ...

  4. Java Web开发之详解JSP

    JSP作为Java Web开发中比较重要的技术,一般当作视图(View)的技术所使用,即用来展现页面.Servlet由于其本身不适合作为表现层技术,所以一般被当作控制器(Controller)所使用, ...

  5. SpringMVC内容略多 有用 熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器、过滤器等Web组件以及MVC架构模式进行Java Web项目开发的经验。

    熟悉基于JSP和Servlet的Java Web开发,对Servlet和JSP的工作原理和生命周期有深入了解,熟练的使用JSTL和EL编写无脚本动态页面,有使用监听器.过滤器等Web组件以及MVC架构 ...

  6. java web 开发入门 --- tomcat/servlet/jsp

    在做java web 开发时,要先安装tomcat.它是一个web服务器,也叫web容器,我们把写好的jsp, html页面放到它里面,然后启动它,就可以用浏览器访问这些页面,地址栏中输入localh ...

  7. java web开发必备知识

    从各种招聘网站的要求上筛选出了一些java开发的一些基本的要求,对照自身看看有哪些缺陷. java基础 既然是java web开发,java SE肯定要学好了. 多线程,IO,集合等,对队列,缓存,消 ...

  8. Java Web开发模式

    一 Java Web开发模式的变迁 1 最初的Java web服务器端编程技术是Servlet,利用Servlet就可以开发出一个Web应用程序. 2 为了解决Servlet缺陷,SUN推出了JSP技 ...

  9. Java Web(六) JSP

    现在的Java Web开发已经很少使用JSP脚本了,业务逻辑都交给Servlet处理,JSP只负责显示视图,所以接下来的内容就对JSP脚本不做叙述了... JSP概述 JSP全名为Java Serve ...

随机推荐

  1. Intellj IDEA使用技巧记录

    ▲.Intellj IDEA光标变成了insert光标状态 且不能编辑操作: https://blog.csdn.net/aosica321/article/details/52787418 ▲.在i ...

  2. java面试梳理

    自己整理的有关java面试过的问题,有错的请矫正. 1, Spring的核心思想 控制反转和面向切面的编程 2,Spring的核心模块 反向控制与依赖注入.Bean配置以及加载 3,Scope是什么 ...

  3. Java--图片浏览器

    功能:启动后选择打开文件,可以打开图片进行浏览. v 1.0 :支持上一张 下一张功能.(欠缺,窗口大小未随着图片大小而改变) import java.awt.BorderLayout; import ...

  4. <LC刷题一>相加为0的数之leetcode1&2&15&16

    --题目导航见页面左上角的悬浮框#目录导航#-- 相似题型导航 1.1 twosum两数之和  ||  2.2 3Sum三数之和  ||  2.3 3Sum Closest最接近的三数之和 ----- ...

  5. (二)Hadoop例子——运行example中的wordCount例子

    Hadoop例子——运行example中的wordCount例子 一.   需求说明 单词计数是最简单也是最能体现MapReduce思想的程序之一,可以称为 MapReduce版"Hello ...

  6. jQuery代码优化:基本事件

    jQuery对事件系统的抽象与优化也是它的一大特色.本文仅从事件系统入手,简要分析一下jQuery为什么提供mouseenter和mouseleave事件,它们与标准的mouseover.mouseo ...

  7. 用Vue来实现图片上传多种方式

    没有业务场景的功能都是耍流氓,那么我们先来模拟一个需要实现的业务场景.假设我们要做一个后台系统添加商品的页面,有一些商品名称.信息等字段,还有需要上传商品轮播图的需求. 我们就以Vue.Element ...

  8. 【leetcode 简单】第四十一题 Excel表列序号

    给定一个Excel表格中的列名称,返回其相应的列序号. 例如, A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ...

  9. 记一次诡异的bug调试——————关于JDK1.7和JDK1.8中HashSet的hash(key)算法的区别

    现象: 测试提了一个bug,我完全复现不了,但是最吊诡的是在其他人的机器上都可以复现.起初以为是SVN合并后出现的冲突,后来经过对比法排查: step 1: 我本地开两个jetty,一个跑合并之前的版 ...

  10. Verilog笔记.4.inout端口

    inout是一个双向端口,实现为使用三态门,第三态为高阻态‘z’. 在实际电路中高阻态意味着响应的管脚悬空.断开. 当三态门的控制信号为真时,三态门选通,作输出端口使用:控制信号为假时,三态门是高阻态 ...