一、JSP页面中的凝视

(1)HTML凝视

<!-- comment [ <%=expression %> ] -->

能在client显示的一种凝视,标记内的全部JSP脚本元素、指令和动作正常运行,也就是说编译器会扫描凝视内的代码行。

(2)Java凝视(隐式凝视)

<% //comment%>

<%/*comment  */ %>

(3)JSP凝视(隐式凝视)

<%--comment--%>

注意:用隐藏凝视标记的字符会在JSP编译时被忽略掉,标记内的全部JSP脚本元素、指令和动作都将不起作用。 JSP编译器不会对凝视符之间的语句进行编译的。它不会显示在客户的浏览器中。

二、JSP脚本元素

<%! %> (声明)

在此Scriptlet中能够定义全局变量、方法和类

<%= %> (表达式)

主要功能是输出一个变量或者一个详细内容

<% %>(脚本程序)

在此Scriptlet中能够定义局部变量。编写语句等

1.声明<%! %>

在JSP文件里,一次能够声明一个或多个变量和方法,它们之间用分号隔开。

在声明时使用JAVA语言时,必须符合JAVA语言规范。

注意:

变量必须先声明,然后才干使用;

声明必须以分号结尾。

通过page指令导入的包中已声明的变量或方法,能够在主JSP文件里直接使用它们;

JSP页面成员变量是被全部用户共享的变量。不论什么用户对JSP页面成员变量操作的结果,都会影响到其它用户。

2. 表达式<%= %>

表达式标签能包括符合JAVA语言规范的不论什么有效表达式;

表达式用于求值,然后其值转化为字符串,并且插入在JSP文件里显示该表达式的地方。

不能使用分号作为表达式的结尾,然而,在脚本段<%……%>标签中,表达式要求以分号作为结尾。

3. 脚本程序<% %>

在脚本段能声明多个变量和方法。

能使用不论什么有效的表达式;

能够包括不论什么有效的程序片段。仅仅要合乎java本身的标准语法就可以;

<% %>不能嵌套使用;

在<% %>之间不能插入HTML。

三、JSP指令元素(directives)

指令( directives )主要用来提供整个JSP页面网页相关的信息,而且用来设定JSP网页的相关属性。比如网页的编码方式、语法、信息等。

起始符号:

<%@

终止符号:

%>

内文部分:一些指令和一连串的属性设定

<%@ directive{attribute="value"} %>

四、设置文件编码

contentType的charset是指server发送给client浏览器时所见到的网页内容的编码 ,pageEncoding是指jsp文件自身存储时所用的编码。

在JSP标准的语法中,假设pageEncoding属性存在。那么JSP页面的字符编码方式就由pageEncoding决定,否则就由contentType属性中的charset决定,假设charset也不存在,JSP页面的字符编码方式就採用默认的ISO-8859-1 。

五、JSP动作元素

include动作:<jsp:include>元素同意包括动态和静态文件,这两种文件产生的结果是不尽同样的。

假设包括的是静态文件,那么仅仅是将静态文件的内容加到JSP网页中;假设包括进来的为动态文件。那么这个被包括的文件也会被JSP容器编译运行。

语法:

<jsp:include page="{urlSpec |<%=expression%>}" flush="true | false"/>

<jsp:include page="{urlSpec |<%=expression%>}" flush="true | false"/>

<jsp:paramvalue={"value" |"<%=name%>" } name="name"/>*

</jsp:include>

<jsp:include>有两个属性:page和flush。page:能够代表一个相对路径。即所包括进来的文件位置或是经过表达式运算出的相对路径;flush:接受的值为boolean,如果为true,缓冲区满时。将会被清空。默认值为false。

<jsp:param>用来传递一个或多个參数给JSP网页。

include指令标记是先将JSP页面与所要嵌入的页面合并成一个新的JSP页面,然后再由JSP引擎将新页面转化为Java文件处理并执行。

include动作标记在把JSP页面转译成java文件时,并不合并两个页面;而是在java文件的字节码文件被载入运行时。才去处理include动作标记引入的文件。

forward动作

<jsp:forward>的定义:将client所发出来的请求。从一个JSP网页转交给还有一个JSP网页。

语法:

<jsp:forwardpage={"URL" | "<%=expression%>"}/>

<jsp:forward page ={"URL"|"<%=expression%>"}>

<jsp:param value={"value"|"<%=name%>" } name="name" />

</jsp:forward>

假设加上<jsp:param>标签,就行向目标文件传递參数或值。

属性:page。page的值,能够是一个相对路径,即所要又一次导向的网页地址。也能够是经过表达式运算出的相对路径。

该动作属于server端跳转。

JSP语法基础(一)的更多相关文章

  1. JAVA 入门第一章(语法基础)

    本人初学java 博客分享记录一下自己的学习历程 java我的初步学习分为六章,有c和c++的基础学起来也简便了很多. 第一章 语法基础 第二章 面向对象 第三章 常用工具类 第四章 文件操纵 第五章 ...

  2. JSP语法

    第3章  JSP语法 [本章专家知识导学] JSP是建立在Java语言基础上的一种Web程序设计语言,具有自己特有的用法和指令.本章首先介绍JSP页面的程序结构,然后讲述JSP程序中经常用到基本的面向 ...

  3. JSP(1)—基础知识

    JSP(1)-基本知识 起源 在很多动态网页中绝大多数网页都是固定不变的只有局部内容需要动态产生和改变,如果使用Servlet程序来输出只有局部内容需要动态改变的网页,其中所有的的静态内容,也需要程序 ...

  4. JSP 语法

    JSP 语法 本小节将会简单地介绍一下JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达式,只要它们在脚本语言中是有效的. 脚本程序的语法格式: <% 代 ...

  5. JavaWeb:JSP技术基础

    JavaWeb:JSP技术 快速开始 介绍 JSP全称Java Server Pages,是一种动态网页开发技术.它使用JSP标签在HTML网页中插入Java代码.标签通常以<%开头以%> ...

  6. JSP-Runoob:JSP 语法

    ylbtech-JSP-Runoob:JSP 语法 1.返回顶部 1. JSP 语法 本小节将会简单地介绍一下JSP开发中的基础语法. 脚本程序 脚本程序可以包含任意量的Java语句.变量.方法或表达 ...

  7. JSP Web第四章整理复习 JSP技术基础

    P104 JSP简介 (1)基本概念:jsp技术.jsp.jsp网页组成 JSP技术基础java servlet和整个java体系的Web服务器端开发技术. JSP表示它是用java写的Web服务页面 ...

  8. python基础入门一(语法基础)

    作为自己正式接触并应用的第一门编程语言,在Alex和武sir两位大王的要求下,开始了写博客总结的日子.学习编程语言是很有趣的一件事情,但有2点请一定要谨记:1.做人靠自己,码代码也必须靠自己.能不能成 ...

  9. PHP语法基础

    1.PHP语法基础 PHP标记符 <?php ?> 常亮与变量 $a = 10; 变量 可以在运行过程中修改 $a = 10; $a = 20; $b = 5; echo $a+$b; c ...

随机推荐

  1. angular4自定义组件非input元素实现ngModel双向数据绑定

    在angular里我们一般都是给input元素添加[(ngModel)]="value"实现数据双向绑定,如果想实现自定义的组件上实现ngModel双向数据绑定应该怎么办呐... ...

  2. Js中的数据类型--String

    昼猫笔记--给你带来不一样的笔记 不止是笔记 更多的是思考 上一期咱们大概了解了下什么是JavaScript,想必大家也都知道 今天主要说下Js中的数据类型 在Js中一共分为六种数据类型 其中基本数据 ...

  3. django项目所遇问题总结

    2. 关于设置static静态文件,样式失效问题 原因: 可能开启多个端口号,页面显示访问的不是已经设置了static的模板,所以,样式没有显示 3. models模型中gender字段的选择设置 c ...

  4. Java并发包之Semaphore用法

    多线程中的同步概念就是排着队去执行一个任务,执行任务的是一个一个的执行,并不能并行执行,这样的优点是有助于程序逻辑的正确性,不会出现线程安全问题,保证软件的系统功能上的运行稳定性, Semaphore ...

  5. 洛谷 P1591 阶乘数码

    P1591 阶乘数码 题目描述 求n!中某个数码出现的次数. 输入输出格式 输入格式: 第一行为t(≤10),表示数据组数.接下来t行,每行一个正整数n(≤1000)和数码a. 输出格式: 对于每组数 ...

  6. 【ios开发学习 - 第二课】iOS项目文件夹结构

    文件夹结构 AppDelegate Models Macro General Helpers Vendors Sections Resources   一个合理的文件夹结构首先应该是清晰的.让人一眼看 ...

  7. linux 进程等待 wait 、 waitpid

    waitpid() 与 wait() 功能相似,都是用户主进程等待子进程结束或中断. 可用于进程之间的同步 wait 函数原型 pid_t wait(int *status); 函数说明 wait() ...

  8. QT就是别人好心帮你做一些枯燥,并且很重复的代码编写工作,让你更好的把精力投入到你界面的逻辑和功能的实现的功能库(否则写了上万行代码了,才写出个BUG一大堆的毛坯)

    好了,现在开始记录我学习QT的学习历程 . 本人也不是计算机专业出来的,自学了一点,但还是不好找工作,于是参加了培训,虽然感觉没多学到什么 编程的学习生涯就是不断的看别人的源码,然后自己参考着写写自己 ...

  9. python-打开网页

    最近一直想通过python来实现网页的操作.因为想把自己vimrc的配置直接通过脚本来实现.比较理想的情况下,就是通过一个脚本,把自己需要的一些资源直接从网上下载下来,然后再对下载的资源进行安装等操作 ...

  10. TextWatcher-监听输入框内容变化

    今天在做邮件登录的时候,遇到了输入框(Edittext)监听事件(TextWatcher),现在记录下. 首先看如下代码 eText.addTextChangedListener(new TextWa ...