• JSP_7_JSP指令与动作元素


    ---7-1 include指令------------------------------------------------------------------

    include指令:<%@ include file="URL"%>

    date.jsp

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    <%@ page import="java.text.*" %>
    <%
       Date d = new Date();
       SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日");
       String s = sdf.format(d);
       out.println(s);
    %>

    Include_Command.jsp

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'Include_Command.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
        <h1>Include指令</h1>
        <hr>
        <%@ include file="date.jsp"%>
      </body>
    </html>

    ---7-2 include动作------------------------------------------------------------------

    include动作标签

    <jsp:include>动作元素用来包含静态和动态的文件。该动作把指定文件插入正在生成的页面。语法格式如下:

    <jsp:include page="relative URL" flush="true" />
    常用属性:
    page:要包含的页面
    flush:被包含的页面是否从缓冲区读取 true:使用缓冲,false不使用缓冲
    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'Include_Command.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
        <h1>Include动作</h1>
        <hr>
        <jsp:include page="date.jsp" flush="false"/>
      </body>
    </html>

    ---7-3 include指令与include动作(标签)--------------------------------------------------

    include指令与include动作(标签)比较

            include指令             jsp:include动作

    语法格式          :<%@ include file="URL"%>       <jsp:include page="xx.jsp" flush="false"/>

    发生作用的时间  :页面转换期间            请求期间

    包含的内容    :文件实际内容            页面的输出

    转换成的Servlet:主页面和包含页面转换为一个Servlet   主页面和包含页面转换为独立的Servlet

    编译时间       :  较慢-资源必须被解析        较快

    执行时间       : 稍快                 较慢-每次资源必须被解析

    观察Tomcat work directory里生成的servlet文件 

    ---7-4 forward动作-----------------------------------------------------------------

    语法:

      <jsp:forward page="URL" />

      等同于:

      request.getRequestDispatcher("/url").forward(request,response);

    login.jsp:

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8" %>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'login.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
        <h1>系统登录</h1>
        <hr>
        <form name="loginForm" action="forward_action.jsp" method="post">
          <table>
            <tr>
              <td>用户名:</td>
              <td><input type="text" name="username"/></td>
            </tr>
            <tr>
              <td>密码:</td>
              <td><input type="password" name="password"/></td>
            </tr>
            <tr>
              <td colspan="2"><input type="submit" value="登录"/></td>
            </tr>
          </table>
        </form>
      </body>
    </html>

    forward_action.jsp

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'Include_Command.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
        <h1>Forward动作</h1>
        <hr>
        <!--<jsp:forward page="user.jsp"/>-->
        <% 
           request.getRequestDispatcher("user.jsp").forward(request, response);
        %>
        
      </body>
    </html>

    user.jsp:

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'user.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
        <h1>用户资料</h1>
        <hr>
        <% 
           request.setCharacterEncoding("utf-8");
           String username = "";
           String password = "";
           String email = "";
           if(request.getParameter("username")!=null)
           {
              username = request.getParameter("username");
           }
           if(request.getParameter("password")!=null)
           {
              password = request.getParameter("password");
           }%>
            用户名:<%=username %><br>
            密码:<%=password %><br>  </body>
    </html>

    ---7-5 param动作-------------------------------------------------------------------

     语法:

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

      常常与<jsp:forward>一起使用,座位起子标签

    login.jsp:

      <form name="loginForm" action="doLogin.jsp" method="post">

    dologin.jsp:

        <jsp:forward page="user.jsp">

      //添加参数email
          <jsp:param value="admin@123.net" name="email"/>

      //覆盖参数password的值
          <jsp:param value="888888" name="password"/>
        </jsp:forward>

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'dologin.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
        <jsp:forward page="user.jsp">
          <jsp:param value="admin@123.net" name="email"/>
          <jsp:param value="888888" name="password"/>
        </jsp:forward>
      </body>
    </html>

    user.jsp:

    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    <%
    String path = request.getContextPath();
    String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
    %>
    
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'user.jsp' starting page</title>
        
        <meta http-equiv="pragma" content="no-cache">
        <meta http-equiv="cache-control" content="no-cache">
        <meta http-equiv="expires" content="0">    
        <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
        <meta http-equiv="description" content="This is my page">
        <!--
        <link rel="stylesheet" type="text/css" href="styles.css">
        -->
    
      </head>
      
      <body>
        <h1>用户资料</h1>
        <hr>
        <% 
           request.setCharacterEncoding("utf-8");
           String username = "";
           String password = "";
           String email = "";
           if(request.getParameter("username")!=null)
           {
              username = request.getParameter("username");
           }
           if(request.getParameter("password")!=null)
           {
              password = request.getParameter("password");
           }
           if(request.getParameter("email")!=null)
           {
              email = request.getParameter("email");
           }
           
        %>
            用户名:<%=username %><br>
            密码:<%=password %><br>
            电子邮箱:<%=email %><br>
      </body>
    </html>
     
  • 相关阅读:
    数组
    2017.3.20for
    PHP基础2
    php基础1
    触发器
    SQL储存过程
    范式
    时间戳
    主键和外键
    15 大图轮播
  • 原文地址:https://www.cnblogs.com/charles999/p/6704121.html
Copyright © 2020-2023  润新知