声明元素<%! %>、Scriptlet元素<% %>、表达式元素<%= %>、注释元素、输出特殊符号<%和%>
声明元素
<%! 类成员声明或方法声明 %>
在声明元素中编写的代码,将转译为Servlet中的类成员或方法。
重新定义jspInit()方法,或是在jspDestroy(),就是在声明元素中编写。
使用声明元素声明变量,必须小心数据共享与线程安全的问题。因为容器默认会使用同一个Servlet实例来服务不同用户的请求,每个请求是一个线程,而声明元素中声明的变量对应至类变量成员,因此会有线程共享访问的问题。
Scriptlet元素
<% Java语句 %>
Scriptlet元素包括的内容,将被转译为Servlet源代码_jspService()方法中的内容。
Scriptlet出现的顺序,也就是在转译为Servlet后,语句出现在_jspService()中的顺序。
如果想禁用JSP上的Scriptlet,则可以在web.xml中设置:
<?xml version="1.1" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
<display-name>Web Application</display-name> <jsp-config>
<jsp-property-group>
<url-pattern>*.jsp</url-pattern>
<scripting-invalid>true</scripting-invalid>
</jsp-property-group>
</jsp-config> </web-app>
表达式元素
<%= Java表达式%>
现在时间:<%= new Date()%>
注意,表达式元素中不用加上分号(;),因为表达式元素在转译为Servlet之后,会在_jspService()中产生这样的语句:out.print(new Date());
注释元素
1、java注释
在<%与%>之间可以直接使用 // 或 /*与*/ 的方式编写注释。
2、html注释
在写html的地方,直接使用<!-- -->的方式编写注释。
在转译为Servlet之后,会产生这样的一行语句:out.write("<!-- 网页注释 -->");
这个注释会输出至浏览器,在查看HTML源代码时,就可以看到。
3、JSP注释
<%-- JSP 注释 --%>
生成的Servlet中不会包括这个注释,也不会输出至浏览器。
输出特殊符号<%和%>
如果要在JSP网页中输出<%符号或%>符号,不能直接写<%或%>,以免转译时被误为是某个元素的起始或结尾符号。
例如,若JSP网页中包括下面这段,就会发生错误:
<% out.println("JSP 中 Java 語法結束符號 %>"); %>
<% 使用 <%;
%> 使用 %> 或 %\>
<% out.println("<%與%\>被用來作為 JSP 中 Java 語法的部份"); %>
声明元素<%! %>、Scriptlet元素<% %>、表达式元素<%= %>、注释元素、输出特殊符号<%和%>的更多相关文章
- add(expr|ele|html|obj[,con]) 把与表达式匹配的元素添加到jQuery对象中。
add(expr|ele|html|obj[,con]) 概述 把与表达式匹配的元素添加到jQuery对象中.这个函数可以用于连接分别与两个表达式匹配的元素结果集. jQuery 1.4 中, .ad ...
- parents([expr]) 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素)。可以通过一个可选的表达式进行筛选。
parents([expr]) 概述 取得一个包含着所有匹配元素的祖先元素的元素集合(不包含根元素).可以通过一个可选的表达式进行筛选.大理石平台检定规程 参数 exprStringV1.0 用于 ...
- find(expr|obj|ele)搜索所有与指定表达式匹配的元素。
find(expr|obj|ele) 概述 搜索所有与指定表达式匹配的元素.这个函数是找出正在处理的元素的后代元素的好方法. 所有搜索都依靠jQuery表达式来完成.这个表达式可以使用CSS1-3的选 ...
- not(expr|ele|fn)从匹配元素的集合中删除与指定表达式匹配的元素
not(expr|ele|fn) 概述 从匹配元素的集合中删除与指定表达式匹配的元素 参数 exprStringV1.0 一个选择器字符串.深圳dd马达 elementDOMElementV1.0 ...
- filter(expr|obj|ele|fn)筛选出与指定表达式匹配的元素集合。
filter(expr|obj|ele|fn) 概述 筛选出与指定表达式匹配的元素集合. 这个方法用于缩小匹配的范围.用逗号分隔多个表达式 参数 exprStringV1.0 字符串值,包含供匹配当前 ...
- HTML(二)HTML元素(整体结构,块级元素,内联元素,结构元素,交互元素,元素嵌套规则)
HTML整体结构解释 <!DOCTYPE html> // 文件应以"<!DOCTYPE ......>"首行顶格开始,推荐使用"<!DOC ...
- UI定位元素大全(跟App定位元素差不多哦)
selenium+python自动化之元素定位 作者:一飞冲天 同样的道理,把一个页面上的元素当成是一个对象(你的女神),我们就可以通过她的属性值来找到她,比如她性别女爱好爬山---------你就可 ...
- HTML中为何p标签内不可包含div标签?那哪些块元素里面不能放哪些块元素呢?
先看下面的例子你就能明白两者的差别: <p>测试一下块元素与<span>内联元素</span>的差别</p> <p>测试一下<div& ...
- JavaScript通过元素id和name直接获取元素的方法
概览: 偶然的机会,我在JavaScript中直接用HTML元素的id属性来获取该元素,并设置该元素的其他属性值,竟然能够正确解析不报错!于是我去查阅相关资料,也有其他同行这么用. 虽然说这种用法不是 ...
随机推荐
- (转)CentOS一键安装Nginx脚本
原文:https://www.xiaoz.me/archives/10301 https://blog.slogra.com/post-676.html-----centos7一键安装nginx脚本
- C# 算法系列一基本数据结构
一.简介 作为一个程序员,算法是一个永远都绕不过去的话题,虽然在大学里参加过ACM的比赛,没记错的话,浙江赛区倒数第二,后来不知怎么的,就不在Care他了,但是现在后悔了,非常的后悔!!!如果当时好好 ...
- .net core2 mvc项目中,加入RazorPages页面
2017.08.22 试验结果: 1.手工添加/Pages文件夹 2.复制/Views/_ViewImports.cshtml到/Pages/_ViewImports.cshtml 2.1 修改@u ...
- Ubuntu 安装配置最新版 PostgreSQL
环境:Ubuntu Xenial (16.04) !!! CentOS 参考这里 #安装 PostgreSQL sudo apt-get updatesudo apt-get upgradea ...
- Android_OnLowMemory和OnTrimMemory
Android OnLowMemory和OnTrimMemory OnLowMemoryOnLowMemory是Android提供的API,在系统内存不足,所有后台程序(优先级为background的 ...
- Mysql压缩包版的安装方法详解
Mysql安装的时候可以有msi安装和zip解压缩两种安装方式.zip压缩包解压到目录,要使用它还需对它进行一定的配置.下面对Mysql压缩包版的安装方法进行详细的描述,要是此文有不正确的认识,希望大 ...
- RETE算法介绍
RETE算法介绍一. rete概述Rete算法是一种前向规则快速匹配算法,其匹配速度与规则数目无关.Rete是拉丁文,对应英文是net,也就是网络.Rete算法通过形成一个rete网络进行模式匹配,利 ...
- Git 撤销与修改
增补提交 git commit –C HEAD –a --amend -C表示复用指定提交的提交留言,这个例子中是HEAD,实际上可以指定其他有效的提交名称. 如果参数是小写的-c,就会打开预先设置好 ...
- webpack4+react多页面架构
webpack在单页面打包上应用广泛,以create-react-app为首的脚手架众多,单页面打包通常是将业务js,css打包到同一个html文件中,整个项目只有一个html文件入口,但也有许多业务 ...
- vs2017调试浏览器闪退
工具>选项>项目和解决方案> Web项目",取消选中"浏览器窗口关闭时停止调试器"