Fork me on GitHub

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 内容插入到当前页面,

被导入页面的编译指令失去作用

   

参考链接:

参考链接1参考链接2参考链接3参考链接4参考链接5

   

   

   

 

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 接口)

   

参考链接:

参考链接1参考链接2参考链接3参考链接4参考链接5

   

   

如:

   

创建一个 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>

   

   

   

   

参考链接:

参考链接1参考链接2参考链接3参考链接4参考链接5

   

   

   

   

   

   

【made by siwuxie095】

posted on 2017-04-09 14:15  siwuxie095  阅读(208)  评论(0编辑  收藏  举报

导航