JSP中的脚本、指令、动作和注释标识
来源:互联网 发布:美发股份分配怎么算法 编辑:程序博客网 时间:2024/05/22 06:10
1 JSP的脚本元素
1.1 声明:<%! int counter = 0 %>
注意:声明的可以是成员变量,方法或内部类。不要用成员变量去做统计,因为如果 Servlet 实例是否被销毁是由服务器控制的,如果需要统计,则应该把统计的信息存储到数据库或是文件当中。会原封不动的放在 service() 方法体之外
1.2 表达式:<%= new java.util.Date() %>
表达式将被添加到_jspService()方法体内,并被转换为: out.print( new java.util.Date() );
1.3 代码块:<% if(isLogin){…} %>
(1)本质上是一个 java 代码块,里面的注释方式跟 java 代码一样
(2)该代码块会原封不动的放在 servlet 的_jspService()方法中,放置的位置会影响结
果,必须保证变量先声明后使用。
2 指令(directive)
2.1 page 指令:<%@ page … %>
(1) <%@ page import =””%> 导入需要用到的类(可导入多个包,用“,”分割)
(2) <%@ page isErrorPage =”true”%> 本页面是异常后跳转的页面
(3) <%@ page errorPage=””%> 本页面错误之后,转向的错误页面
(4) <%@ page contentType = "text/html;charset=GB2312"%> 设置文件格式和编码方式
(5) <%@ page pageEncoding =””%> 设置页面显示的字符集 contentType 和 pageEncoding 的差异
(6) <%@ page language =””%> 本页面使用的 scriting语言,默认是 java ,通常不写
(7) <%@ page extends =””%> 本页面生成的 servlet 所继承的类
(8) <%@ page buffer =””%> 本页面的输出是否支持缓冲
(9) <%@ page autoFlush =””%> 缓冲区是否自动刷新
(10) <%@ page info =””%> 返回本页面的描述信息
(11) <%@ page isELIgnored=””%> 本页面是否支持 EL 表达式
2.2 包含指令:<%@ include … %>
<%@ include file =”relativeURLspec”%>
静态包含,也称为翻译时包含,在 JSP 翻译时插入一个包含文本或代码的文件,这个包含的过程是静态的,然后再将JSP翻译成 Servlet 程序。
注意: file 所指的路径必须是相对于此 JSP网页的路径。 而包含的文件可以是 JSP 网页、HTML 网页、文本文件,或是一段 Java 程序。
2.3 标签库指令:<%@ taglib … %>
<%@taglib prefix=“tt” uri=“/WEB-INF/jspdev.tld”%> 用于导入标签库。
3 常用的动作(action)
3.1 包含动作<jsp:include page=“ ” />
<jsp:include page =””/>
动态包含,也称为运行时包含,将页面执行完的结果,加载进来。它对应于 Servlet 中 RequestDispatcher 类的 include(ServletRequest request, ServletResponse response)方法。
它还可以进行参数的传递,例如:
<jsp:include page =””>
<jsp: param name=”user” value=”admin”>
</jsp:include>
被包含的页面可以通过使用 request.getParameter(“user”)来得到 admin。
3.2 转发动作 <jsp:forward page=“ ” />
转发:<jsp: forward page=“ ”/>
把控制页面转到下一个页面(转移控制权),可以通过使用 request 来传送数据。
重定向:response.sendRedirect();
不能通过使用 request 来传送数据,可以考虑使用 session 来传送数据。
两种转向赋值的方式: <jsp: forward page=”hello.jsp”> // 转发
<jsp: forward > // 重定向
<jsp:attribute name=”page”>hello.jsp</jsp:attribute>
</jsp:forward>
注意
a: <%response.sendRedirect("/jsp-app/implication/view.jsp")%>
b: <jsp:forward page="/implication/view.jsp" />
区别:
a: 产生新的请求,重定向会放弃这个请求,并向服务器发送一个新的请求。
b: 请求对象不变。 forward 和 include 是同一个请求,sendRedirect 会产生新的请求。
3.3 JavaBean 相关动作
<jsp:useBean>用于定位或示例一个JavaBeans组件。<jsp:useBean>首先会试图定位一个Bean实例,如果这个Bean不存在,那么<jsp:useBean>就会从一个class或模版中进行示例。
为了定位或示例一个Bean,<jsp:useBean>会进行以下步聚,顺序如下: 通过给定名字和范围试图定位一个Bean. 对这个Bean对象引用变量以你指定的名字命名. 如果发现了这个Bean,将会在这个变量中储存这个引用。如果你也指定了类型,那么这个Bean也设置为相应的类型. 如果没有发现这个Bean,将会从你指定的class中示例,并将此引用储存到一个新的变量中去。如果这个class的名字代表的是一个模版,那么这个Bean被java.beans.Beans.instantiate示例. 如果<jsp:useBean>已经示例(不是定位)了Bean,同时<jsp:useBean>和</jsp:useBean>中有元素,那么将会执行其中的代码. <jsp:useBean>元素的主体通常包含有<jsp:setProperty>元素,用于设置Bean的属性值。正如上面第五步所说的,<jsp:useBean>的主体仅仅只有在<jsp:useBean>示例Bean时才会被执行,如果这个Bean已经存在,<jsp:useBean>能够定位它,那么主体中的内容将不会起作用4 JSP中的注释
JSP注释:<%-- … --%>,翻译阶段消失。
JAVA注释://、 /**/、 /***/,编译阶段消失。
HTML 注释:<!-- … -->, 不会消失。
- JSP中的脚本、指令、动作和注释标识
- JSP - JSP中的脚本、指令、动作和注释
- Jsp中的动作标识
- JSP中include指令和动作标识include的区别
- jsp的include指令和动作标识的区别
- JSP指令标识及注释
- jsp中的指令标识
- 复习:JSP基本语法(JSP注释 + JSP指令 + JSP脚本元素 + JSP动作元素)
- JSP中的include指令和include动作
- JSP中的include指令和include动作
- JSP动作和注释
- 【insigma】jsp指令、脚本、动作
- JSP中的编译指令和动作指令的区别
- JSP(2)jsp语法之指令元素、脚本元素、动作元素forward、注释方法
- JSP编译指令和JSP动作指令
- jsp指令与jsp注释以及jsp脚本和jsp声明、jsp表达式、jsp的生命周期
- JSP中的include指令和include动作的区别
- jsp--include指令和动作在动态引入中的区别
- Ogre 的基于Texture的阴影有时会不正常的原因
- NDK+Cygwin环境搭建
- WPF 媒体播放器
- gdb调试
- Ubuntu 天气预报控件
- JSP中的脚本、指令、动作和注释标识
- (转)解决Asp.net中文本框控件(TextBox)readonly或disabled时内容无法POST到服
- C++多态问题分析
- QT 的信号与槽机制介绍
- zoj1402
- 数据绑定控件之一DataList控件的使用
- dtree 的 使用 target 对应 ifame 的 name 而不是 id
- 技术/源码/开源网站
- Hibernate 中映射文件的配置模板