声明元素<%! %>、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属性来获取该元素,并设置该元素的其他属性值,竟然能够正确解析不报错!于是我去查阅相关资料,也有其他同行这么用. 虽然说这种用法不是 ...
随机推荐
- list、vector、deque互相拷贝
#include <iostream> #include <stdlib.h> #include <string.h> #include <algorithm ...
- 自测 基础 js 脚本。
<html> <head> <script> //function(<text>a{[]}lert('x')</text>)() docum ...
- 哨兵/sentinel:在算法设计中的应用
哨兵(sentinel)昨天看算法导论里对哨兵的描述后,觉得这是一种很有意思的编程思想.哨兵是一个哑对象.一般哨兵不存放任何数据,但其结构体与其他有用的元素一致.正如其字面意思,哨兵是在边界保卫祖国的 ...
- linux buff/cache释放
手动释放cache # > /proc/sys/vm/drop_caches
- Java 9 中,我们可以在匿名类中使用 <> 操作符
不说了,直接上代码: public class NewTest { public static void main(String[] args) { N<Integer> n1 = new ...
- mysqldump主要参数探究
在数据库的日常维护中,对于数据量小的备份,我们常常采用的是逻辑备份,也就是使用mysqldump导出.数据量比较大的备份会使用percona的xtrabackup,关于xtrabackup工具的使用以 ...
- 复刻smartbits的国产网络测试工具minismb-网络连接数测试方法
复刻smartbits的网路性能测试工具MiniSMB,是一款专门用于测试智能路由器,网络交换机的性能和稳定性的软硬件相结合的工具.可以通过此工具测试任何ip网络设备的端口吞吐率,带宽,并发连接数和最 ...
- Spring AOP介绍及源码分析
转自:http://www.uml.org.cn/j2ee/201301102.asp 软件开发经历了从汇编语言到高级语言和从过程化编程到面向对象编程:前者是为了提高开发效率,而后者则使用了归纳法,把 ...
- 使用Akka构建集群(二)
前言 在<使用Akka构建集群(一)>一文中通过简单集群监听器的例子演示了如何使用Akka搭建一个简单的集群,但是这个例子“也许”离我们的实际业务场景太远,你基本不太可能去做这样的工作,除 ...
- C# Code First 配置
前言 所谓code first,是代码优先,而不是传统的数据库优先. code first的好处多多,可不用考虑数据库,只考虑面向对象.下面我们介绍一下code first的配置. 下一篇文章地址:C ...