天天看点

JSP指令与动作元素

一、指令与动作

指令:<%@ 指令名 属性 %>

动作:<jsp: 动作名 属性 />

二、include指令

常用的有page、include、taglib指令这三种指令;

page:位于页面顶端,一个页面可以包含多个page指令

include:将一个外部文件嵌入jsp中,同时解析这个页面中的jsp语句。

taglib:使用标签库,自定义新的标签,在jsp中启动定制行为。

include指令

语法 

<% include file="地址"%>
           

案例:显示当前时间的页面。(1)写一个只输出时间的方法的date.jsp。(2)用于显示的页面,包含<%include file="date.jsp"%>

三、include动作:

语法

<jsp:include page="URL" flush="true|false,默认为false"/ >
           

page:要包含的页面

flush:被包含的页面是否使用缓冲读取

目前学了3种方法导入外面文件

1、pageContext的方法include()。

2、JSP的指领<%@ inlcude file="url"%>

3、javabean的动作元素<jsp:include page="url"flush="true|false">

四、include指令与include动作区别

include指令:

1.include指令是编译阶段的指令,即include所包含的文件的内容是编译的时候插入到JSP文件中‘因此如果只修改了include文件内容,而没有对JSP修改,得到的结构将不会改变,所以直接执行已经存在的字节码文件,而没有重新编译。因此对不经常变化的内容,用include指令是合适的,如果需要的内容是经常变化的,则需要动作元素<jsp:include>.

2.include指令的主要优点是功能强大,所包含的代码可以含有总体上影响主页面的JSP构造,比如属性、方法的定义和文档类型的设定。

3.缺点是难于维护只要被包含的页面发生更改,就得更改主页面,这是因为主页面不会自动地查看被包含的页面是否发生更改。

4.仅当include动作不能满足要求时,我们才应该使用include指令。

5.include动作在维护上的优势十分巨大,当两种方法都可以使用时,include动作几乎肯定是首选的方法。

6.对于文件包含,应该尽可能地使用include动作。仅在所包含的文件中定义了主页面要用到的字段或方法,或所包含的文件设置了主页面的响应报头时,才应该使用include指令。

7.include指令更为强大。include指令允许所包含的文件中含有影响主页面的Jsp代码,比如响应报头的设置和字段、方法的定义。

JSP指令与动作元素

五、Forward动作

语法:

<jsp:forward page="URL"/>
           

等于服务器内部转发指令request.getRequestDispacher("URL").forward(req,res);

四种跳转.

<%response.sendRedirect("login_seccess.jsp"); %>//告诉浏览器此路不通,你再问问另一页面能解决你的问题不?
<jsp:forwardpage="login_fail.jsp"/> //服务器将请求转发到另一页面,浏览器不知情.
<%pageContext.forward("login_fail.jsp");%> //服务器将请求转发到另一页面,浏览器不知情.
<%request.getRequestDispatcher("login_fail.jsp").forward(request,response);%>//服务器将请求转发到另一页面,浏览器不知情.
           

六、param动作,传递方法为post

1、语法:

<jsp:param name="参数名" value="参数值">
           

2、【常常与<jsp:forward></jsp:forward>一起使用】,并作为其【子标签】。

3、用于传递新参数或者【修改原有参数值】,修改参数时使用form表单里的参数名称即可。同样用request.getParameter("参数名")获取

必须与forward、include及plugin动作配合使用。通常与forward动作一起使用,作为它的子标签,它的作用是指定某个参数值,可以用于传递参数,

<jsp:forward page="url">
<jsp:param value="[email protected]" name="email"/>
</jsp:forward>