JSP 注释和动作标识的使用

JSP 注释和动作标识的使用

文章目录

前言一、JSP 注释

1.HTML中的注释2.带有 JSP 表达式的注释3.隐藏注释4.动态注释二、动作标识

1.包含文件标识2.请求转发标识3.传递参数标识总结

前言

JSP 的基本语法还包括 JSP 注释和动作标识。本文会详细讲解一下这两个东西。

一、JSP 注释

由于 JSP 页面由 HTML、JSP、Java 脚本等组成,所以 JSP 的注释格式有很多种。

1.HTML中的注释

HTML 语言的注释不会被显示在网页中,但是在浏览器中选择查看页面的源代码时,可以被看到,具体语法格式如下:

为 HTML 添加注释信息后,其他开发人员可以直接从注释中了解代码用途。

2.带有 JSP 表达式的注释

在 JSP 页面中可以嵌入代码片段,在代码片段中也可以加入注释。在代码片段加入注释的过程中和 Java 的注释是相同的。

(1)单行注释

单行注释以" // "开头,后面接注释内容,语法格式如下:

// 注释内容

实操:

<%

String name=""; //定义一个保存用户名

%>

以上注释解释了name的含义。

(2)多行注释

多行注释以" /* "开头,以" */ "结尾。在这个表示中间的内容称为注释内容,并且可以换行。语法格式如下:

/*

注释内容

*/

实操:

<%

/*

function:显示用户信息

author:MGSS

time:2024-9-24

*/

%>

以上就是在代码片段中加入了多行注释。服务器不会对多行注释中的内容进行处理,包括 JSP 表达式或其他的脚本程序。并且多行注释的开始标记与结束标记可以不在同一个脚本程序中同时出现。

(3)提示文档注释

提示文档注释会被 Javadoc 文档工具生成文档时读取,文档是对代码结构和功能的描述。具体语法如下:

/**

文档注释信息

*/

提示文档注释方法与多行注释很相似,/** 和 /* 符合注释的内容服务器都不会做任何处理。

3.隐藏注释

通过在文档中添加的 HTML 注释虽然在浏览器中不显示,但是可以通过查看源代码的方式看到这些注释。理论上说,这是不安全的。这时 JSP 提供了一种隐藏注释,既在浏览器中看不到,而且在查看 HTML 源代码时也看不到,这种注释安全性比较高。具体语法如下:

<%-- 注释内容 --%>

实操:写一段隐藏注释 "显示出当前打开页面的时间"。

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" language="java" %>

<%@ page import="java.util.Date"%>

<%@ page import="java.text.SimpleDateFormat"%>

test

<%-- 显示出当前打开页面的时间 --%>

Current Time:

<%

// Initial time display

Date date = new Date();

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String time = df.format(date);

out.print(time);

%>

运行结果:

用户在浏览器中检查我们的网页代码时,他们是看不见<%-- 显示出当前打开页面的时间 --%> 隐藏注释的。可以提高用户解析页面代码、恶意攻击网页的壁垒。

4.动态注释

由于 HTML 注释对 JSP 嵌入的代码不起作用,因此可以利用它将暂时不用的代码注释掉,需要的时候再对注释语法进行删除,使用对应的代码。这样就形成了一种动态注释,需要时使用,不需要时注释掉。

实操:

以上将我们不需要的代码暂时注释掉了,不去影响整体代码。

二、动作标识

1.包含文件标识

JSP 的动作标识 用于向当前页面中包含其他的页面,引入的页面可以是动态或静态的。语法格式如下:

子动作标识

参数说明:

page:用于指定被包含文件的相对路径。所填 url 的 JSP 页面将会显示在主页面里。

flush:可选属性,用于设置是否刷新缓冲区。默认值为 false,如果设置为 true,在当前页面输出使用了缓存区的情况下,先刷新缓冲区,然后执行包含工作。

指令标识<%@ include%>和动作标识是不同的。指令标识是在编译时静态地引入其他页面,而动作标识是在运行时动态地引入其他页面,并且支持命名空间。

在应用标识进行文件包含时,为了使整个页面的层次结构不发生冲突,建议在被包含页面中将、等标记删除。

如果要在 JSP 页面中显示大量纯文本,可以将这些文本文字写入静态文件中(如 txt 文件),然后通过 include 指令或动作标识包含到该 JSP 页面,这样就会使 JSP 页面更加简洁。

至于实操方面,动作标识和指令标识<%@ include%>的使用方法是相同的

实操:将一个 txt 文件包含到主页面 index.jsp。

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" language="java" %>

<%@ page import="java.util.Date"%>

<%@ page import="java.text.SimpleDateFormat"%>

test

<%-- 显示出当前打开页面的时间 --%>

Current Time:

<%

// Initial time display

Date date = new Date();

SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

String time = df.format(date);

out.print(time);

%>

运行结果:

首先展示一下 txt 文件的内容:

再展示 index.jsp 主页面的效果:

有上图可见,通过 标识,将 txt 文件插入到了 index.jsp 中,并正常显示了出来。

2.请求转发标识

动作标识可以将请求转发到其他的 Web 资源。例如,另一个 JSP 页面、HTML页面、Servlet 等。执行请求转发后,当前页面将不再被执行,而是去执行该标识指定的目标页面,顾名思义就是,跳转页面。语法格式如下:

子动作标识

参数说明:

page:用于指定请求转发的目标页面。该属性值可以是一个指定文件路径的字符串,也可以是表达文件路径的 JSP 表达式。但是请求跳转的目标文件必须是内部资源,即应用内的资源。

实操展示:创建两个文件,一个为 index.jsp,另一个为 content,txt。利用标签从 index.jsp界面跳转到 content.txt界面。

index.jsp文件:

<%@ page contentType="text/html;charset=UTF-8" pageEncoding="UTF-8" language="java" %>

test

jsp主页面

content.txt文件:

运行结果:

由上图所示,直接从JSP链接跳转到了 content.txt 页面,这之间几乎没有间隔,这适合页面间的数据共享、处理逻辑和权限管理。如果想要实现用户来精准控制页面的跳转,UI交互,这还是 JavaScript 语言更加合适。

3.传递参数标识

JSP 的动作标识可以作为其他标识的子标识,用于为其他标识传递参数。具体语法格式如下:

参数说明:

name:用于指定参数名称。

value:用于设置对应的参数值。

实操:创建两个jsp页面,通过来将test1.jsp的userId属性的值传递到,另一个test2.jsp页面。

test1.jsp页面的部分代码:

test2.jsp页面的部分代码:

<%

String name = request.getParameter("name");

String age = request.getParameter("age");

%>

通过动作标识指定的参数,将以“参数名=值”的形式加入请求中。简而言之,标签可以用于实现两个页面之间的数据传递和交互。被包含或者被转发的页面必须直接或者间接地访问到 request 对象,才能够通过 request.getParameter() 方法获取参数值。

总结

以上就是 JSP 的基本语法,本文简单介绍了 JSP注释和动作标识的使用,更多开发网页的技巧还需要我们在实际开发过程中不断地实践获得,有补充或指正的内容,欢迎在评论区中留言。

📚 相关推荐

狷慧的意思
365bet娱乐场注册

狷慧的意思

📅 07-31 👁️ 743
2025年想转行当水暖工?看完这篇再决定要不要入坑
新能源汽车电瓶放在哪里
英国365

新能源汽车电瓶放在哪里

📅 10-03 👁️ 2908
我们为什么需要”侯亮平“
365bet体育在线赌博

我们为什么需要”侯亮平“

📅 08-17 👁️ 3621
五行属火的东西(五行属火的东西物品有哪些)
为什么没有人爱我?
365bet体育在线赌博

为什么没有人爱我?

📅 07-23 👁️ 2932
如何在MAC上查看系统运行信息、内存使用率等
手机电源键关不了屏幕_手机死机关不了机怎么办
365bet娱乐场注册

手机电源键关不了屏幕_手机死机关不了机怎么办

📅 07-13 👁️ 6215
英雄联盟s12冠军之血希瓦娜绝版了吗知乎(冠军之血希瓦娜有特效吗)