zoukankan      html  css  js  c++  java
  • JSP基础--动作标签

    JSP动作标签

    1 JSP动作标签概述

    动作标签的作用是用来简化Java脚本的!

    JSP动作标签是JavaWeb内置的动作标签,它们是已经定义好的动作标签,我们可以拿来直接使用。

    如果JSP动作标签不够用时,还可以使用自定义标签(今天不讲)。JavaWeb一共提供了20个JSP动作标签,但有很多基本没有用,这里只介绍一些有坐标的动作标签。

    JSP动作标签的格式:<jsp:标签名 …>

    2 <jsp:include>

    <jsp:include>标签的作用是用来包含其它JSP页面的!你可能会说,前面已经学习了include指令了,它们是否相同呢?虽然它们都是用来包含其它JSP页面的,但它们的实现的级别是不同的!

    include指令是在编译级别完成的包含,即把当前JSP和被包含的JSP合并成一个JSP,然后再编译成一个Servlet。

    include动作标签是在运行级别完成的包含,即当前JSP和被包含的JSP都会各自生成Servlet,然后在执行当前JSP的Servlet时完成包含另一个JSP的Servlet。它与RequestDispatcher的include()方法是相同的!

    hel.jsp

      <body>

        <h1>hel.jsp</h1>

        <jsp:include page="lo.jsp" />

      </body>

    lo.jsp

    <%

        out.println("<h1>lo.jsp</h1>");

    %>

     

    其实<jsp:include>在“真身”中不过是一句方法调用,即调用另一个Servlet而已。

    3 <jsp:forward>

    forward标签的作用是请求转发!forward标签的作用与RequestDispatcher#forward()方法相同。

    hel.jsp

     

    lo.jsp

    <%

        out.println("<h1>lo.jsp</h1>");

    %>

    注意,最后客户端只能看到lo.jsp的输出,而看不到hel.jsp的内容。也就是说在hel.jsp中的<h1>hel.jsp</h1>是不会发送到客户端的。<jsp:forward>的作用是“别在显示我,去显示它吧!”。

    4 <jsp:param>

    还可以在<jsp:include>和<jsp:forward>标签中使用<jsp:param>子标签,它是用来传递参数的。下面用<jsp:include>来举例说明<jsp:param>的使用。

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

     

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>

      <head>

        <title>a.jsp</title>

      </head>

     

      <body>

        <h1>a.jsp</h1>

        <hr/>

        <jsp:include page="/b.jsp">

           <jsp:param value="zhangSan" name="username"/>[崔1] 

        </jsp:include>

    </body>

    </html>

    <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

     

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

    <html>

      <head>

        <title>b.jsp</title>

      </head>

     

      <body>

        <h1>b.jsp</h1>

        <hr/>

        <%

           String username = request.getParameter("username");[崔2] 

           out.print("你好:" + username);

        %>

      </body>

    </html>


     [崔1]给被包含的页面b.jsp传递参数。

     [崔2]获取参数

    JSP动作标签
      这些jsp的动作标签,与html提供的标签有本质的区别。
      * 动作标签是由tomcat(服务器)来解释执行!它与java代码一样,都是在服务器端执行的!
      * html由浏览器来执行!
        * <jsp:forward>:转发!它与RequestDispatcher的forward方法是一样的,一个是在Servlet中使用,一个是在jsp中使用!
        * <jsp:include>:包含:它与RequestDispatcher的include方法是一样的,一个是在Servlet中使用,一个是在jsp中使用!
          > <%@include>和<jsp:include>有什么不同!
        * <jsp:param>:它用来作为forward和include的子标签!用来给转发或包含的页面传递参数!
    

      

  • 相关阅读:
    markdown图片设置
    编程变量名
    c++ 子类构造函数初始化及父类构造初始化
    idea中解决Git反复输入代码的问题
    idea中修改git提交代码的用户名
    网络相关
    idea Controller层编译Mapper层报错
    java7与java8的新特性
    修改列名以及其数据类型
    修改数据库表的某个字段默认值
  • 原文地址:https://www.cnblogs.com/eadela/p/11327590.html
Copyright © 2011-2022 走看看