JSP——页面三大部分(指令、脚本、动作组件)
一、JSP简介:
JSP(Java Server Pages,Java服务器端页面开发技术)
JSP可以实现的技术都可以通过Servlet实现,他们本质上是一样的。但JSP设计的目的在于简化表示层的表示。JSP执行前都会被转化为Servlet。
二、JSP页面包括三大部分:
指令、Java脚本、动作组件。
1.指令:
page指令:用来定义整个JSP页面的全局属性。
格式:<%@ 指令名 属性名="值" %>
import(导入包)、contentType(服务器向浏览器响应输出的文件格式类型和字符集编码方式)、 isThreadSafe、session、buffer、autoflush 、extends、info、errorPage (处理异常事件的JSP文件)、isErrorPage和language(脚本语言)等。
<%@ page language="java" %>
<%@ page contentType="text/html;charset=GB2312" %>
<%@ page errorPage="error.jsp" %>
include指令:在JSP页面中嵌入其他文件。
格式:<%@ include file="相对位置" %>
注意:<%@ include%>指令和<jsp:include>动作标签有什么区别?
<%@ include file="copyright.html" %>
2.Java脚本:
声明:JSP页面中数据和方法的声明(全局变量)。格式:<%! 声明的变量或方法; %>
声明变量和方法也可以在脚本代码片段中(局部变量),但两者是有区别的。
表达式:用于在页面上输出信息。格式:<%= 表达式 %>。(无分号)
脚本代码片段:JSP页面的脚本代码必须写在<% 代码%>区域里。
3.动作组件:是一些XML语法格式的标记,被用来控制Web容器的行为。
常见的JSP动作组件共有以下几种:
<jsp:include>:在页面被请求的时候引入一个文件。
< jsp:param>:在动作组件中引入参数信息。
< jsp:forward>:把请求转到一个新的页面。
< jsp:useBean>:寻找或者实例化一个JavaBean。
< jsp:setProperty>:设置JavaBean的属性。
< jsp:getProperty>:输出某个JavaBean的属性。
include动作组件:
注意:include动作组件和include指令元素有很大的不同。 include动作组件在执行时才对包含的文件进行处理,因此JSP页面和它所包含的文件在逻辑上和语法上是独立的,如果对包含的文件进行了修改,那么运行时可以看到所包含文件修改后的结果。而静态的include指令包含的文件如果发生变化,必须重新将JSP页面转译成java文件,否则只能看到所包含的修改前的文件内容。
forward动作组件:
向至另一个HTML网页或JSP网页,客户端看到的地址是A页面的地址,而实际内容却是B页面的内容。其语法如下:
<jsp:forword page= “网页名称”>
param动作组件:
<jsp:param>用于传递参数信息,必须配合< jsp:include>或< jsp:forward>动作组件一起使用。语法如下:
< jsp:param name=参数名称 ,value=值 />
当该组件与<jsp:include>一起使用时,可以将param组件中的值传递到include动作组件要加载的文件中去。
<jsp:forward page="welcome.jsp">
<jsp:param name="name" value="John" />
</jsp:forward>
等同于welcome.jsp?name="John"
userBean动作组件:用于创建对象实例。
格式:<jsp:userBean id = "对象名字" scope="作用域">
作用域有page(整个页面)、request、session(整个会话生命周期)、application等
JSP——页面三大部分(指令、脚本、动作组件)的更多相关文章
- JSP中的编译指令和动作指令的区别
JSP中的编译指令和动作指令的区别 1.编译指令是通知Servlet引擎的处理消息,而动作指令只是运行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本, ...
- JSP中的编译指令和动作指令的差别
JSP中的编译指令和动作指令的差别 1.编译指令是通知Servlet引擎的处理消息.而动作指令仅仅是执行时的脚本动作 2.编译指令是在将JSP编译成Servlet时起作用,而动作指令可替换成JSP脚本 ...
- JSP页面中的指令标识
JSP页面中的指令标识 制作人:全心全意 指令标识主要用于设定整个JSP页面范围内都有效的相关信息,它是被服务器解释并执行的,不会产生任何内容输出到网页中.也就是说,指令标识对于客户端浏览器是不可见的 ...
- jsp笔记2(编译指令与动作指令)
一.jsp的编译指令是通知jsp引擎的消息,不会生成输出. jsp的3个编译指令: page:针对当前页面的指令 include:包含另一个页面的指令 taglib:用于定义和访问自定义标签 ...
- JSP页面使用include指令出现 Duplicate local variable basePath
现有三个页面 " include.jsp " " a.jsp " " b.jsp " 页面代码如下 首先是a.jsp <%@ page ...
- jsp笔记,包括编译指令和动作指令,九大对象等
jsp基础知识 不包括HTTP协议,只有jsp的基础知识,包括表达式,代码片段,jsp九大对象等. 编译指令是在jsp被转换成selvet时,使用的. 而动作指令,是在每次客户端请求时动态执行.
- JavaWeb学习总结第三篇--走进JSP页面元素
JavaWeb学习(三)—走进JSP页面元素 JSP:Java Server Pages,译为Java服务器页面.其脚本采用Java语言,继承了Java所有优点.JSP元素可以分为指令元素.脚本元素和 ...
- JSP页面中的小知识
1.<%…%>和<%!…%>的区别? <%…%>用于在JSP页面中嵌入Java脚本,即代码块 <%!…%>用于在JSP页面中申明变量或方法,可以在该页面 ...
- jsp页面元素和内置对象
java server pages其根本是一个简化的servlet设计.实现了在java当中使用html标签.javaEE标准 一.页面元素 1.静态内容 html.js.css相关标签元素. 2.指 ...
随机推荐
- umount.nfs device busy day virsh extend diskSpace, attachDisk
KVM中linux虚拟机的硬盘添加方法 最近虚拟机中运行的东西比较多,很多.而刚启动的时候虚拟机分配的磁盘比较少,随着日志还有平时的上传文件的积累,磁盘空间报警了.网上查了下资料,自己也做了下实验.总 ...
- Android的UI两大基石
说到Android的UI就不得不从一切的开始View开始说. 让我们从Android Developer上的View的Overview和UI Overview来开始吧. Cla ...
- js笔记-DOM基础
DoM 浏览器支持: IE: 10% FF: 99% Chrome: 60% childNotes不兼容 在Chrome和IE9中会将文本节点也算作childNotes,而在IE6-8中childNo ...
- 面向对象程序设计-C++_课时16子类父类关系
初始化列表 类名::类名(形参1,形参2,...形参n):数据成员1(形参1),数据成员2(形参2),...,数据成员n(形参n) { ... } 规则1,初始化列表进行数据成员的初始化 规则2,初始 ...
- kafka学习(四)-Topic & Partition
topic中partition存储分布 Topic在逻辑上可以被认为是一个queue.每条消费都必须指定它的topic,可以简单理解为必须指明把这条消息放进哪个queue里.为了使得 Kafka的吞吐 ...
- Qt程序设计——txt文本中获取字符串的问题
QT对txt文本进行读写一般是采用QFile和QTextStream结合使用,在此不细说,主要说一下读取txt文本的注意事项.因为txt文本中有中文也有英文还有数字,要准确获得需要的字串可就要多一个心 ...
- mysql基础示例
创建数据库.创建表等: //php中按天创建表 $sql = "create database if not exists ".$db_name; $date_time_array ...
- IIS7.5(IIS7)配置伪静态urlrewrite
找了好久,终于找到了.已经测试通过,收藏. 转载自:http://jingyan.baidu.com/article/67508eb4ff92c69cca1ce49a.html 首先新建一个应用程序池 ...
- jQuery Mobile组件
一.页面 jQuery Mobile 应用了 HTML5 标准的特性,在结构化的页面中完整的页面结构分为header.content.footer 这三个主要区域. 在body 中插入内容块: < ...
- BZOJ 2716: [Violet 3]天使玩偶( CDQ分治 + 树状数组 )
先cdq分治, 然后要处理点对答案的贡献, 可以以询问点为中心分成4个区域, 然后去掉绝对值(4种情况讨论), 用BIT维护就行了. --------------------------------- ...