JSP的7个动作指令

JSP的动作指令

  动作指令和编译指令不同,编译指令时通知Servlet引擎的处理消息,而动作指令只是在运行时的动作。

JSP的动作指令主要有如下几个:

  jsp:forword  执行页面转向,将处理的请求转发到下一个页面。

  jsp:param   用于传递参数,必须要与其他支持参数的标签一起使用。

  jsp:include 用于动态的引入一个JSP页面。

  jsp:plugin  用于下载JavaBean或者Applet到客户端执行。

  jsp:useBean 创建一个JavaBean实例

  jsp:setProperty 设置JavaBean实例的属性

  jsp:getProperty 用于获取JavaBean实例的属性

1.forward指令

  forward指令用于将页面的相应转发到另外的页面,既可以转发到静态的页面,也可以转发到动态的页面,或者转发到容器的Servlet中。

  JSP的forward指令的语法:

    <jsp:forword page="页面的地址">

       <jsp:param name="" value=""/>

       </jsp:forword>

  此语法可以在转发的时候添加参数,增加的参数是可以通过HTTP Servlet的getParameter()方法获取。

  原始页面如下:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>forward的原始页面</title>
</head>
<body>
    <h3>for ward的原始页面</h3>
    <jsp:forward page="forward-resut.jsp">
       <jsp:param value="29" name="age"/>
    </jsp:forward>
</body>
</html>

  转发的页面如下:

<%@ page language="java" contentType="text/html; charset=utf-8"
    pageEncoding="utf-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>forward的结果页面</title>
</head>
<body>
    <!-- 使用request内置对象获取参数 -->
    <%=request.getParameter("age") %>
</body>
</html>

  注意:在执行forward时,用户请求的地址栏是没有变化的,但是页面的内容时被forward的内容替代。

2.include指令

  include指令是一个动态的include指令,也用于包含某个页面,它不导入被include页面的编译指令,仅仅是将页面的body内容插入到本页面。

  include的语法:

    <jsp:include page="页面的地址" flush="true|false"/>

    或者

    <jsp:include page="页面的地址" flush="true|false">

      <jsp:param value="" name=""/>

    </jsp:include>

    flush属性是指定输出缓存是否转移到被导入的文件中,如果是true,则包含在被导入的文件中,如果是false,则包含在源文件中,在JSP1.1旧版本中,只能是false。

  动态include和静态include的区别:

  • 静态导入时将被导入的页面的代码完整的融入,两个页面融合成一个整体的Servlet,而动态的导入时在Servlet中使用include方法来引入被导入页面内容。
  • 静态导入时被导入页面的编译指令也会被导入进来起作用,而动态的导入时被导入的页面的编译指令会失去作用,只是插入被导入页面的body内容。  

   动态include和动态forward指令其实有些相似的,区别在于:执行forward时,被forward的页面将完全替代原有的页面,而执行include时,被include的页面只是插入原有的页面里,简而言之:forward时拿原有页面来代替原有的页面,而include则拿出目标页面插入原有的页面。

3.useBean,setProperty,getProperty指令

  这三个指令都是与JavaBean有关的指令,其中useBean指令是用于在JSP页面中初始化一个Java实例,setProperty指令用于为JavaBean实例的属性设置值,getProperty指令用于输出JavaBean实例的属性。

  useBean的语法:

    <jsp:useBean id="name" class="className" scope="page|request"/>

    id是指JavaBean实例的名字,而class是用来指定JavaBean的类的名,必须是完整的类名,包名也需要写进去,scope是用来指定该JavaBean的作用域,通常的指定域有四个:

      page:该JavaBean只在此页面有效。

      request:该JavaBean在此次的request中有效

      session:该JavaBean在整个会话中有效。

      application:该JavaBean在本应用中一直都有效。

  setProperty的语法:

    <jsp:setProperty id="name" proterty="propertyname" value=""/>

    name是确认需要设定的JavaBean的实例名,proterty是用来确定需要设置的属性名,value是用来设置属性值。

  getProperty的语法:

    <jsp:getProperty id="name" proterty="protertyname" />

    name属性用来确定需要输出的JavaBean的实例名,property属性确定需要输出的属性名。

4.prama指令

  param指令用于设置参数值,这个指令本身是不能单独使用的,因为单独的param指令时没有任何意义的。

  param指令可以和以下三个指令结合使用:

    jsp:include

    jsp:forward

    jsp:plugin

  

猜你喜欢

转载自www.cnblogs.com/zhilili/p/10886668.html