JSP页面基础知识小结(不含内置对象)

一、3种指令标签:
page:<%@ page prop="xxx" %>
include:<%@ include file="xxx" %>
taglib:<%@ taglib  %>
page用来指定设置当前页面一些属性,自动生成属性有:language,contentType,pageEncoding, 重点属性:import,其它属性:extends , session , buffer , isErrorPage, errorPage等
include标签是在编译前插入其它页面内容,file属性只能是文件路径字符串,仅插入文件中<head>和<body>标签包裹的内容
taglib用来加载一些页面要用到的标签库
注意:直接修改图片资源的扩展名会导致该图片资源加载失败,正确做法是将图片用图片处理工具(比如ps)处理后另存为图片再使用

二、3种脚本标签:
表达式:<%=xxx%>
声明:<%!int c=0%>
代码片段:<%if(true){ ... } %>
服务器执行jsp页面时,会将jsp页面转换为servlet类,同时将jsp声明标签中定义的变量和方法转换为该类的成员变量和成员方法
注意方法定义不能放在代码片段中,也不能引用代码片段中定义的变量,只能放在声明标签中,并且只能引用声明标签中定义的变量
代码片段中只可以定义变量,也可以编写流程控制语句,还可以应用jsp内置对象在页面输出内容、处理请求和响应、访问session会话等。
声明标签中创建的变量和方法:有效周期是从创建开始到服务器关闭才结束,作用域在当前jsp页面
代码片段中创建的变量:有效周期是从创建开始到页面关闭就结束,作用域在当前jsp页面


三、动作标签:
包含文件标识:<jsp:include page="xxx" />或者<jsp:include page="xxx">子动作标识<jsp:param /></jsp:include>
请求转发标识:<jsp:forward page="xxx" />或者<jsp:forward page="xxx">子动作标识<jsp:param /></jsp:forward>
传递参数标识:
<jsp:include>会自动识别出被包含的动态文件并单独编译,待执行时再插入到该位置,page属性可以是路径字符串,也可以是jsp表达式,但必须用引号包裹
<jsp:forward>指定请求转发的文件,必须是内部的(当前应用中的)资源,page属性可以是路径字符串,也可以是jsp表达式,但必须用引号包裹
<jsp:param name="argName" value="argValue"/>用于向被包含文件传递参数,可以传递多个参数,每个参数单独包裹,其功能等同于fileName?arg1=av1&arg2=av2
include动作的flush属性默认为false,如果设置为true并且当前页面使用了缓冲区,那么会先刷新缓冲区,再执行包含工作


四、关于include指令与include动作的区别:
1、include指令通过file属性指定被包含文件,并且file属性不支持任何表达式; include动作通过page属性指定被包含文件,并且支持jsp表达式(属性值需要用引号包起来)
2、include指令被包含文件会原封不动的插入到包含页,合并后才编译成一个java文件; include动作会将各个被包含文件与包含页分开单独编译,当执行到该处时,程序会将请求转发到被包含页,将被包含页的执行结果输出到浏览器中,然后返回包含页继续执行后面的代码。
3、include指令被包含文件中不能有与包含页重名的变量或方法; include动作被包含文件与包含页中的重名变量与方法不相冲突


五、关于注释
html注释:
1、尽量不要写常规的<!-- -->,而应该采用jsp提供的隐藏注释<%-- --%>
2、常规html注释虽然可以注释jsp表达式标签,以生成动态注释,不过程序员更愿意用隐藏注释来注释jsp表达式以备修改替换代码之用

jsp注释(快捷键):
单行:ctrl+shift+c
多行:ctrl+shift+/

java注释(快捷键):
单行:ctrl+/
多行:ctrl+shift+/
文档注释:alt+shift+j 或者 /**回车 或 /*回车


猜你喜欢

转载自blog.51cto.com/maplebb/2167824