JAVA遇见HTML—JSP篇(六.JSP指令与动作元素)

2023-11-14

include指令

语法:

<%@ include file="URL" %>

代码示例:

新建date.jsp文件


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@page import="java.text.*"%>
<%@page import="java.util.*"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<%
   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" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  <h1>Include指令</h1>
  <hr>
  <%@ include file="date.jsp" %>
</body>
</html>

Include动作

语法:

<jsp:include page="URL" flush="true|false" />

这里写图片描述

代码示例:

新建Include_Action.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  <h1>Include动作</h1>
  <hr>
  <jsp:include page="date.jsp" flush="false"></jsp:include>
</body>
</html>

include指令与include动作之间的区别

这里写图片描述

forward动作

语法:

<jsp:forward page="URL" />

等同于:

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

代码示例:
login.jsp文件

<%@ page language="java" import="java.util.*,java.net.*" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
   <h1>用户登录</h1>
   <hr>
   <%
        request.setCharacterEncoding("utf-8");
        String username = "";
        String password = "";
        Cookie[] cookies = request.getCookies();
        if (cookies != null && cookies.length > 0) {
            for (Cookie c : cookies) {
                if (c.getName().equals("username")) {

                    username= URLDecoder.decode(c.getValue(), "utf-8");   
                }
                if(c.getName().equals("password")){
                    password = URLDecoder.decode(c.getValue(), "utf-8");
                }
            }

        }
    %>

   <form name="loginForm" action="dologin_param.jsp" method="post">
     <table>
       <tr>
         <td>用户名:</td>
         <td><input type="text" name="username" value="<%=username %>" /></td>
       </tr>

       <tr>
         <td>密码:</td>
         <td><input type="password" name="password" value="<%=password %>" />
       </tr>

       <tr>
         <td colspan="2"><input type="checkbox" name="isUseCookie" checked="checked" />十天内记住我的登录状态</td>
       </tr>

       <tr>
         <td colspan="2" align="center"><input type="submit" value="登录" /><input type="reset" value="取消" />
       </tr>

       <tr>
         <td colspan="2" align="center">
       </tr>

     </table>
   </form>
</body>
</html>

forward_Action.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  <h1>Forward动作</h1>
  <hr>
  <!-- 相当于服务器内部跳转与request.getRequestDispatcher("users.jsp").forward(request, response);等价 -->
 <%--  <jsp:forward page="users.jsp"></jsp:forward> --%>
  <%
    request.getRequestDispatcher("users.jsp").forward(request, response);
  %>
</body>
</html>

users.jsp文件

<%@ page language="java" import="java.util.*,java.net.*"
    contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <h1>用户信息</h1>
    <hr>
    <%
        request.setCharacterEncoding("utf-8");
        String username="";
        String password="";
        if(request.getParameter("username") !=null){
              username = request.getParameter("username");
        }
        if(request.getParameter("password") !=null){
              password = request.getParameter("password");
        }
    %>
    <br>
    <br>
    <br>
    <br> 用户名:<%=username%>
    <br> 密码:<%=password%>
    <br>
</body>
</html>

param动作

语法:

<jsp:param name="参数名" value="参数值">

常常与<jsp:forward>一起使用,作为其子标签

dologin_param.jsp文件

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
  <jsp:forward page="users.jsp">
       <!-- 相当于给users.jsp传递了一个新的参数email -->
     <jsp:param value="admin@123.net" name="email"/>
  </jsp:forward>
</body>
</html>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JAVA遇见HTML—JSP篇(六.JSP指令与动作元素) 的相关文章

随机推荐

  • Unity学习:资源存储加载之——文件夹、路径格式及其方法等

    1 Assets文件夹 Assets文件夹是unity项目中放置游戏资源的主文件夹 根目录文件夹 1 路径格式 assetsPath Assets xx xx xxx 2 编辑器下使用的加载方法 Resources LoadAssetAtP
  • 算法通关18关

    18关的前几篇文章看过之后 对回溯的模板问题基本解题思路就知道了 就是固定的for循环问题 外层for循环控制横向 递归控制纵向 还要考虑撤销操作和元素是否能被重复利用问题 重复利用的情景较少 只用注意撤销就行 1 复原IP地址 题目 经典
  • 01背包一维数组

    public class testWeightBagProblem1 public static void main String args Solution solution new testWeightBagProblem1 new S
  • Unity3D如何开发最简单的VR游戏 vrPlus(神之眼)

    VR是一种可创建和体验虚拟世界 Virtual World 的计算机系统 是一种可以创建和体验虚拟世界的计算机仿真系统 它利用计算机生成一种模拟环境 是一种多源信息融合的交互式三维动态视景和实体行为的系统仿真使用户沉浸到该环境中 作为一个u
  • Git(5)已有项目连接远端git仓库

    文章目录 初始化git 连接远程仓库 拉下仓库代码 添加代码到本地仓库 删除idea配置的git本地缓存 提交代码 推上去 初始化git git init 连接远程仓库 git remote add origin 你的仓库地址 拉下仓库代码
  • qqkey获取原理_【逆向】QQkey盗号木马原理分析

    一 简介 QQkey是一段字符串 通过这段字符串在没有QQ登录密码的前提下你依然能够在浏览器中对别人QQ空间 邮箱等应用进行随意访问和操作 现在市面上已经有很多使用易语言编写的盗号木马 专门盗取别人的QQkey 通过QQkey改绑关联了该邮
  • Robot Framework 自动化测试详解

    一 Robot Framework 简介 1 界面自动化测试工具 界面自动化测试 即UI自动化测试 比较常见的工具有 QTP AutoIt Selenium等 像QTP经历了很多版本 最新的版本好像叫UFT了 对初学者来说 录制回放是相当容
  • 搭建免费IP代理池

    声明 本文章中所有内容仅供学习交流 不可用于任何商业用途和非法用途 否则后果自负 如有侵权 请联系作者立即删除 由于本人水平有限 如有理解或者描述不准确的地方 还望各位大佬指教 搭建代理池思路 思路来源 崔庆才大佬的爬虫书 代理从何而来 用
  • 网络安全面试必问

    项目经历 因为大家写的都是渗透相关 所以编故事也要编的圆润些 题材可以去freebuf看 https search freebuf com search search E6 8C 96 E6 B4 9E article 这里主要记录如何挖洞
  • 三类保留地址(私有地址)【个人笔记,仅供参考】

    A类 10 X X X是私有地址 私有地址就是在互联网上不使用 而被用在局域网络中的地址 127 X X X是保留地址 用做循环测试用的 B类 172 16 0 0 172 31 255 255是私有地址 169 254 X X是保留地址
  • 在Anaconda下安装并使用Pytorch,pillow,numpy等库及Python版本的匹配

    我在Anaconda下创建的新环境为 python 3 7 0 pytorch 1 8 0 pillow 9 5 0 numpy 1 21 5 能够正常运行 如果我这个版本够用的话可以按照这个版本进行安装 具体步骤如下 1 在Anacond
  • PROFINET从站设备描述文件

    目录 一 GSDML文件名格式 二 设备标识信息 三 设备支持的通讯周期时间 四 设备支持的槽位和数据模块 相信熟悉工业现场的工程师们 对于PROFIBUS和PROFINET这两个工业协议都不陌生 过去在使用PROFIBUS现场总线时 从站
  • matlab 专家pid,专家PID

    3 专家控制器 专家控制器的模型是整个仿真模型中的重点 其实质就是把专家规则用Matlab现有计算元件实现出来 当前一般的做法就是利用 IF THEN 语句来表述一条一条的专家规则 28 把单回路控制中的部分规则做成的专家控制器如下所示 图
  • 什么是Elastic Stack

    什么是Elastic Stack Elastic Stack是由ELK演化而来 ELK是三种软件的简称 分别是Elasticsearch logstash kibana组成 在发展的过程中 又有新成员Beats的加入 形成了Elastic
  • Hadoop运行模式 之 本地运行模式

    Hadoop的运行模式包括 本地模式 伪分布式模式以及完全分布式模式 Hadoop官网地址 https hadoop apache org 本次使用的Hadoop的版本是2 7 2 官网文档 https hadoop apache org
  • ssh-keygen 常用命令与参数

    ssh keygen 常用命令与参数 生成密钥 默认生成 2048 位 RSA 密钥 ssh keygen 生成 4096 位 RSA 密钥 ssh keygen t rsa b 4096 生成 521 位 ECDSA 密钥 ssh key
  • sql注入基础原理(超详细)

    一 Sql注入简介 Sql 注入攻击是通过将恶意的 Sql 查询或添加语句插入到应用的输入参数中 再在后台 Sql 服务器上解析执行进行的攻击 它目前黑客对数据库进行攻击的最常用手段之一 二 Web 程序三层架构 三层架构 3 tier a
  • qt信号槽之创建和连接自定义的槽

    在第一版的Qt设计器中 你可以创建你自定义的槽的信号并使他们连接起来 但是你不能直接实现你的槽 你不得不子集于该窗体 并在这个子集中对你自定义的槽编码 子集的方法依然有用 在某些情况下仍起作用 Make sense 但是现在你可以在Qt设计
  • R语言入门

    安装 R语言开源 安装很简单 此处带过 界面 R语言的使用简介 赋值命令 赋值符号为 lt 或 但是建议使用 lt x lt 10 赋值10给变量x R语言的数据类型 R是一种基于对象 object 的语言 在R中看到的一切事物都是对象 对
  • JAVA遇见HTML—JSP篇(六.JSP指令与动作元素)

    include指令 语法 代码示例 新建date jsp文件