JSP动作指令
Posted siwuxie095
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JSP动作指令相关的知识,希望对你有一定的参考价值。
--------------siwuxie095
编译指令与动作指令:
编译指令是通知 Servlet 引擎的处理消息,它只在 JSP 被转化
成 Servlet 的过程中起作用
动作指令是客户端在请求时期动态被执行的,即 每次客户端
请求时都可能被重新执行一次
forward 动作指令
forward 动作指令用于将当前的程序重定向到一个 html 页面
或 是一个动态程序(如:JSP、Servlet)
forward 动作指令的格式:<jsp:forward page=""></jsp:forward>
如:从 index.jsp 跳转到 login.jsp
当进行 forward 重定向后,当前页面 forward 指令下面的代码就
不再被执行,也不会被输出到客户端
还可以向跳转页面传递参数
「需要用到另一个动作指令 param,该指令本身不能单独使用」
如:从 index.jsp 跳转到 login.jsp
在 login.jsp 的 JSP 程序段中获取传递的参数
「JSP 程序段中的 println() 方法并没有换行效果,需要使用 <br/> 换行」
include 动作指令
include 动作指令是一个动态包含指令,用于在 JSP 程序中
包含静态文件 或 动态的文件
静态文件一般是 HTML 文件,动态文件一般是 JSP 文件
如果包含的是 HTML 文件,直接将 HTML 的内容直接加入到当前的 JSP 程序中即可
如果包含的是 JSP 文件,包含的 JSP 程序还会被 JSP 引擎执行,然后才会将生成的
内容加入到当前的 JSP 程序中
include 动作指令的格式:<jsp:include page=""></jsp:forward>
如:将 index.jsp 的 <head></head> 部分剪切到 header.html 中
header.html:
在 index.jsp 中进行包含:
还可以增加额外的请求参数
如:将 index.jsp 的 <head></head> 部分剪切到 header.html 中,
<body></body> 部分剪切到 body.jsp 中
index.jsp:
header.html:
body.jsp:
编译指令 include 和 动作指令 include:
静态导入是将被导入页面的代码完全融入,两个页面融合成一个整体的 Servlet,
且 被导入页面的编译指令会起作用
动态导入仅仅是将被导入页面的 body 内容插入到当前页面,
且 被导入页面的编译指令失去作用
参考链接:
useBean 动作指令 getProperty 动作指令 setProperty 动作指令
这三个动作指令和 JavaBean 相关:
(1)useBean 用于在 JSP 页面中实例化一个或 若干个 JavaBean 组件
(2)getProperty 用于输出 JavaBean 实例的属性
(3)setProperty 用于为 JavaBean 实例的属性赋值
useBean 动作指令的格式:<jsp:useBean id=""></jsp:useBean>
getProperty 动作指令的格式:<jsp:getProperty property="" name=""/>
setProperty 动作指令的格式:<jsp:setProperty property="" name=""/>
JavaBean 必须符合的约定:
JavaBean 必须要有一个公共的默认构造函数(无参)
JavaBean 的所有属性必须通过 getter 和 setter 方法进行访问
JavaBean 必须都是可序列化的(实现 java.io.Serializable 接口)
参考链接:
如:
创建一个 JavaBean:UserEntity.java
package com.siwuxie095.entity;
import java.io.Serializable;
public class UserEntity implements Serializable {
private String userName; private String password;
public UserEntity() { super(); }
public String getUserName() { return userName; }
public void setUserName(String userName) { this.userName = userName; }
public String getPassword() { return password; }
public void setPassword(String password) { this.password = password; }
} |
再创建两个 JSP 文件:register.jsp 和 do_register.jsp
register.jsp 用于录入注册信息:
do_register.java 用于处理注册信息:
在 useBean 动作指令中,id 属性用于设置 JavaBean 的名称,
class 属性用于设置这个 JavaBean 所对应的类的完全限定名
使用 setProperty 动作指令给 JavaBean 设置属性,其中 name 属性
用于指定 JavaBean 的名称(和 useBean 中的 id 保持一致)
使用 getProperty 动作指令向页面输出属性的值
不使用动作指令的输出方法:
param 动作指令
param 动作指令用于设置参数值,该指令本身不能单独使用,
要配合 forward、include、plugin 三个动作指令使用
param 动作指令的格式:<jsp:param value="" name=""/>
plugin 动作指令
plugin 动作指令主要用于下载服务器端的 JavaBean 或 Applet
到客户端执行,现在很少使用
plugin 动作指令的格式:<jsp:plugin code="" codebase="" type="bean"></jsp:plugin>
参考链接:
【made by siwuxie095】
以上是关于JSP动作指令的主要内容,如果未能解决你的问题,请参考以下文章