- 浏览: 456965 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (354)
- 面向对象分析设计/系统架构 (12)
- Mysql/Orcal11g (13)
- JSP/Java//Python/Xharbour (66)
- 软件测试 (21)
- 信息安全小知识 (1)
- Android (5)
- IT生活/哲学/兵法 (23)
- 软件工程/UML/需求分析学习与实践 (6)
- 操作系统/网络/组成原理 (9)
- 持续集成Maven/Hudson/自动化测试 (9)
- eBay /Paypal developer (10)
- Hadoop/HBase/Solr (0)
- 重构分析及其思考 (2)
- 企业架构 (7)
- 分析模式/设计模式 (4)
- SSH学习笔记 (1)
- Quartz及其JWatch监控 (0)
- Linux服务器 (0)
- ExtJs学习笔记 (1)
- 重读java编程思想 (3)
- ESB/SOA/WebServices (0)
- SpringMVC/Struts/Hibernate/Spring (7)
- Xharbour/Pelles C/ SQLite3 (0)
- Magento 电商 (1)
- Object C (1)
- note/redis (0)
- SpringBoot (0)
最新评论
-
snow8261:
太粗略了。
企业架构之数据架构 -
haithink:
面试成功没?
JVM 加载Class文件的原理及其机制 -
feisi0003731843:
不好意思我没有重启,重启后好多了,可有的地方回放还是不成功的。 ...
Selenium IDE测试ExtJs一种测试解决办法 -
feisi0003731843:
这个好像不行吧,我试过了不好使啊。还是用id来做的。不能用啊。 ...
Selenium IDE测试ExtJs一种测试解决办法 -
yuchensuifeng:
您好,静态页面是可以的,但是,我指定error-page为js ...
JSP创建错误处理页面
JSP动作元素
与指令不同的是,动作元素在请求处理阶段起作用。JSP动作元素是使用XML语法写成的,它采用以下两种格式中的一种:
<prefix:tag attribute=value attribute-list..../>
或者
<prefix:tag attribute=value attribute-list..>
.................
</prefix:tag>
容器在处理JSP时,每遇到这种动作元素,都根据它的标记进行特殊处理。
JSP规范定义了一系列的标准动作,它用jsp作为前缀。这些标准的动作不管容器是如何实现的,但是每个Web容器都必须提供这些操作类型。标准动作为网页设计者提供了基本的功能,其他的厂商可以自由提供其他的非标准的动作以增强功能。
标准动作有:<jsp:useBean><jsp:setProperty><jsp:getProperty><jsp:param><jsp:include>
<jsp:forward><jsp:plugin><jsp:fallback><jsp:params><jsp:attribute><jsp:body><jsp:invoke><jsp:doBody>
<jsp:element><jsp:text><jsp:output><jsp:root><jsp:declaration><jsp:scriptle><jsp:expression>
在标准动作中,有许多是XML语法的动作元素,比如<jsp:declaration><jsp:scriptlet>它的使用不是很广泛。
<jsp:param>
jsp:param操作被用来以“名--值”对的形式为其他标签提供附加信息。它与jsp:include、jsp:forward和jsp:plugin一起使用。它的使用方式如下:
<jsp:param name="paramName" value="paramValue"/>
其中name为属性相关联的关键字,value为属性的值。
<jsp:include>
jsp:include操作允许在请求时间内在现成的JSP页面里面包含静态或者动态资源。被包含的对象只有对JSP writer对象的访问权,并且它不能设置头或者Cookie。如果页面输出时缓冲的,那么缓冲区的刷新要优先于包含的刷新。此指令在运行
上效率比<%@ page include%>指令的效率低,但可以动态增加内容。通过以下的格式使用include指令:
<jsp:include page="filename" flush="true"/>
或者
<jsp:include page="filename" flush="true">
<jsp:param name="paramName" value="paramValue"/>
...............
</jsp:include>
例如:
<jsp:include page="/source/copyrigth.html"/>
<jsp:include page="source/copyright.html"/>
<jsp:include page="index.html"/>
<jsp:include page="/index.html"/>
<jsp:include page="include.jsp"/>
<jsp:param name="companyName" value="HK"/>
</jsp:inclyde>
其中
page="fileName"
参数为一个相对路径,或者是代表相对路径的表达式。如果路径以"/"开头,那么路径主要是参照JSP应用的上下关系路径。如果路径是以文件名或目录名开头,那么这个路径就是正在使用的JSP文件的当前路径。
flush="true"
这里必须使用flush="true" 不能使用false值。默认是false
<jsp:param name="paramName" value="paramValue"/>
<jsp:param>子句能让你传递一个或多个参数给动态页面
<jsp:include>标签允许你包含动态文件和静态文件,但是这两种包含文件的结果是不同的。如果文件仅仅是静态文件,那么这种包含仅仅是把包含文件的内容加到JSP文件中去,这个被包含文件不会被JSP编译器执行。相反地,如果这个包含文件是动态的文件,那么这个被包含文件将会被JSP编译器执行。
如果被包含文件是动态的,那么还可以用<jsp:param>传递参数名和参数值。
和<%@ include%>指令不同的是,<jsp:include>包含内部可以是动态改变的,它在执行时才确定,而前者包含的内容是固定不变的,一经编译,就不能改变。
例如:
<%@ page contentType="text/html;charset=gb2312" language="java"%>
<html>
<body>
<%@ include file="static.html"%>
<%//只是把文件包含进来%>
<a href="two.jsp">goto two----></a><br>
this example show include works
<jsp:include page="two.jsp" flush="true">
<jsp:param name="a1" value="<%=request.getParameter("name")%>"/>
<jsp:param name="a2" value="<%=request.getParameter("password")%>"/>
</jsp:include>
</body>
</html>
two.jsp如下:
<%@ page contentType="text/html;charset=gb2312" language="java"%>
实例include的工作原理
<br>
this is al=<%=request.getParameter("a1")%>
<br>
this is a2=<%=request.getParameter("a2")%>
<br>
<% out.println("hello from two.jsp");%>
在第一个实例中,static.html作为静态文件包含进来,two.jsp作为动态文件包含进来。实际上包含进来的是two.jsp执行的结果。
<jsp:forward>
jsp:forward操作允许将请求转发到另一个JSP、Servlet或者静态资源文件。请求被转向到的资源必须位于同JSP发送请求相同的上下文环境之中。每当遇到此操作时,就停止执行当前的JSP,转而执行被转发的资源。按以下的方式使用此操作:
<jsp:forward page="uri"/>
或者
<jsp:forward page="uri">
<jsp:param name="paramName" value="paramValue"/>
..........
</jsp:forword>
例如:
<% String target="/log.jsp"%>
<jsp:forward page="<%=target%>"/>
或者
<jsp:forward page="/login.jsp">
<jsp:param name="userID" value="hah"/>
<jsp:param name="password" value="XXXX"/>
</jsp:forward>
其中:
page="path"
"path"值为一个表达式或者一个字符串,它用于说明将要定向的文件或URL。这个文件可以是JSP文件,也可以是程序段,或者其他能够处理request对象的文件
<jsp:param name="paramName" value="paraValue"/>.........
name指定参数名,value指定参数值。参数被发送到一个动态文件,参数可以是一个或多个值,而这个文件却必须是动态文件。
如果要传递多个参数,则可以在一个JSP文件中使用多个<jsp:param>,将多个参数发送到一个动态文件中。
jsp:forward操作典型的使用就是登陆。如进行权限验证的页面,当验证通过后,就把页面forward到登陆成功的页面;当验证不通过时,就把页面forward到登陆页面。例如:
<%@ page contentType="text/html;charset=gb2312"%>
<html>
<body>
<%--进行登录检查--%>
<%
String name=request.getParamter("name");
String password=request.getParamter("password");
//if验证通过,forward-->sucess.jsp
if(name.equals("hah") && password.equals("XXXXX"))
{%>
<jsp:forward page="sucess.jsp">
<jsp:param name="user" value="<%=name%>"/>
</jsp:forward>
<%
}
else{
%>
<jsp:forward page="login.jsp">
<jsp:param name="user" value="<%=name%>"/>
</jsp:forward>
<%} %>
</body>
</html>
上面是一个简单的登录验证例子。一般情况下都是去连接数据库进行登录验证的。
下面看下success.jsp页面
<%@ page contentType="text/html;charset=gb2312"%>
登录成功
<br>
欢迎你,
<%=request.getParameter("name")%>
<jsp:setProperty>
此操作与useBean协作,用来设置Bean的简单属性和索引属性。<jsp:setProperty>标签使用Bean给定的setXXX()方法,在Bean中设置一个或多个属性值。利用<jsp:setProperty>设置属性值有多种方法。
Bean的自省(introspection)用来发现出出现的哪些属性和它们的名字是什么,这些属性是简单的还是索引的,它们是什么类型的等。用以下方法使用setproperty:
<jsp:setProperty name="beanName" propertyDetails/>
其中,propertyDatails可以使下面几个中的一个:
property="*";
property="propertyName" param="parameterName"
property="propertyName"
property="propertyName" value="propertyValue"
例如:
<jsp:useBean id="usersession" scope="session" class="com.user.UserSession">
<jsp:setProperty name="usersession" property="name" value="hah">
</jsp:useBean>
或者
<jsp:useBean id="usersession" scope="session" class="com.user.UserSession"/>
<jsp:setProperty name="usersession" property="name" value="hah"/>
name="beanName"
这是个必选属性,其值为Bean的名字,为在这之前用jsp:useBean引入的名称。
propertyDetails
可以通过4种不同的方法指定属性的信息,这4种方法介绍如下。
1) property="*"
这是一种设置Bean属性的快捷方式。在Bean中,属性的名字、类型必选和request对象中的参数名称相匹配。由于在表单中传过来的数据类型都是String类型的,JSP内在机制会把这些参数转化成Bean属性对应的类型。
如果request对象的参数值中有空值,那么对应的Bean属性将不会设置任何值。同样,如果Bean中有一个属性没有与之对应的request参数值,那么这个属性同样也不会设定。
如果使用了property="*",那么Bean的属性没有必要按HTML表单中的顺序排序。
2) property="propertyName"
使用request中的一个参数值指定Bean中的一个属性值。在这个语法中,property指定Bean的属性名,而且Bean属性和request参数的名字应相同,否则需要用另一种语法,即指定param。propertyName名字和Bean中的setXXX()中的XXX是一致的。也就是说,如果Bean中有setUserName(String userName)方法,那么propertyName的值就是”userName“。
从客户传到服务器上的参数值一般都是字符类型,这些字符串为了能够在Bean中匹配就必须转换成对应的类型。
下面给出一些Bean属性的类型及其它们的转换方法
boolean : java.lang.Boolean.valueOf(String).booleanValue()
Boolean: java.lang.Boolean.ValueOf(String)
byte: java.lang.Byte.valueOf(String).byteValue();
Byte: java.lang.Byte.valueOf(String);
char : java.lang.Character.valueOf(String).valueOf();
Character: java.lang.Character.valueOf(String);
double: java.lang.Double.valueOf(String).doubleValue();
Double: java.lang.Double.valueOf(String);
int : java.lang.Integer.valueOf(String).intValue();
Integer: java.lang.Integer.valueOf(String);
float: java.lang.Float.valueOf(String).floatValue();
Float: java.lang.Float.valueOf(String)
long: java.lang.Long.valueOf(String).longValue();
Long: java.lang.Long.valueOf(String);
如果request对象的参数值中有空值,那么对于的Bean属性将不会设定任何值
property="propertyName" param="parameterName"
在Bean属性的名字和request中参数名字不同时,使用这个方法。param指定request中的参数名。
如果request对象的参数值中有空值,那么对于的Bean属性将不会设置任何值。
property="propertyName" value="propertyValue"
value 是一个可选属性,使用指定的值设定Bean属性。这个值可以使字符串,也可以使表达式。如果是字符串,则字符串的值通过相应的对象或包的标准的valueof方法将自动地转换为Bean属性的类型。
如果是一个表达式,那么它的类型就必须和它将要设定的属性值的类型一致。
如果参数值为空,那么对应的属性值也不会被设定。
另外,不能在一个<jsp:setProperty>中同时使用param和value。因为两种都是设置Bean属性的值,只是方式不同而已。
<jsp:useBean>和<jsp:setProperty>是联系在一起的,它们使用的Bean实例的名字也必须匹配,即在<jsp:setProperty>中的name值应当和<jsp:useBean>中ID的值相同。
<jsp:getProperty>
jsp:getProperty操作时对jsp:setProperty操作的补充,它用来访问一个Bean的属性。它访问的属性值将它转化成一个String,然后发送到输出流中。如果属性是一个对象,将调用toString方法。它使用方法如下:
<jsp:getProperty name="beanName" property="propertyName"/>
例如:
<jsp:useBean id="usersession" scope="session" class="com.user.UserSession">
<jsp:getProperty name="usersession" property="name"/>
<jsp:getProperty name="usersession" property="password"/>
name="beanName"
这是个必选属性。其值为Bean的名字,为在这之前用jsp:useBean引入的名字。
property="propertyName"
这是个必选属性。其值为所指定的Bean的属性名
<jsp:getproperty>标签有一些限制:不能使用<jsp:getPropery>检索一个已经被索引了的属性
<jsp:useBean>
<jsp:useBean>标签用来在JSP页面中创建一个Bean实例,并指定它的名字及作用范围。它保证对象在标签指定的范围内可以使用。定义的语法如下:
<jsp:useBean id="id" scope="page|request|session|application"typeSpec/>
其中id是一个大小写相关的名字,用来表达这个实例;scope表示此对象可以使用的范围;
typeSpec可以是以下四者之一:
1. class="className"
2. class="className" type="typeName"
3. beanName="beanName" type="typeName"
4. type="typeName"
例如:
<jsp:useBean id="shopcart" scope="session" class="session.Carts"/>
<jsp:setProperty name="shopcart" property="*"/>
<jsp:useBean id="checking" scope="session" class="bank.Checking">
<jsp:setProperty name="checking" property="balance" value="0.0"/>
</jsp:useBean>
id="name"
这在所定义的范围中确认Bean的变量。在定义某个JavaBean时,需要指定它的ID,通过此ID对JavaBean的实例对象进行引用。这个变量名必须符合所使用的脚本语言的规定(在Java Programming Language中,这个规定在Java Language 规范中已经写明),而且变量名对大小写敏感。如果要使用的是一个已经创建好的Bean,那么这个ID的值必须与原来的那个ID值一致。
scope="page|requesT|session|application"
其值表示Bean存在的范围及ID变量名的有效范围。scope的默认值是page,以下是详细说明:
1. page 能够在包含<jsp:useBean>标签的JSP及此文件中的所有静态包含文件中使用Bean,直到夜幕执行完毕向客户端发回响应或转到另一个文件为止。超出这个范围Bean就失效。
2. request 在请求的范围内使用有效。可以使用request对象访问Bean,比如:
request.getAttribute(name);
其中name是指Bean实例化的名字。
3. session 从创建Bean开始,就可以在session有效范围内使用这个Bean,这个Bean对于JSP来说是共享的。
需要注意的是,在创建Bean的JSP文件中的<%@ page%>指令中必须指定session=True,否则可能会导致致命的错误发生。
可以使用session对象访问Bean,比如
session.getValue(name);
其中name是指Bean实例化的名字。
4. application 同session一样,从创建Bean开始,就可以在任何使用相同application的JSP文件中使用Bean。application对象在应用服务器启动时就创建了,直到应用服务器关闭。这个Bean存在整个application生存周期内,任何在此分享application的JSP文件都能使用同一Bean。
可以使用application对象访问Bean,比如
application.getAttribute(name);
其中name是指Bean实例化的名字。
class="className"
这是Bean的类路径及类名。这个class不能使抽象的,必须有一个公用的、没有参数的构造器。该packaged 的名字对大小写敏感。
BeanName="beanName" type="typeName"
使用instantiate方法从一个class中实例化一个Bean,同时还可以指定Bean的类型。
type="typeName"
type可以是一个类本身(class)也可以是一个类的父类,或者是一个类的借口。如果没有使用class或BeanName表示Bean的名字,其形式为"a.b.c"。<jsp:useBean>用于定位或实例化一个JavaBean组件。<jsp:useBean>首先试图定位一个Bean实例,如果这个Bean不存在,那么<jsp:useBean>就会从一个class或模板中进行实例化。另外,<jsp:useBean>标签的主体部分通常包含<jsp:setProperty>标签,用于设置Bean的属性值。<jsp:useBean>的主体仅仅在<jsp:useBean>实例化Bean时才会被执行。如果这个Bean已经存在,<jsp:useBean>能够定位它,那么主体中的内容将不再起作用。
<jsp:plugin>
jsp:plugin用来产生客户端浏览器的特别标签(Object或者 Embed),可以使用它来插入Applet或者JavaBean。
当JSP文件被编译并把结果发送到浏览器时,<jsp:plugin>元素将会根据浏览器的版本替换成<object>或者<embed>元素。
需要注意的是,<Object>用于HTML4.0<embed>用于HTML3.2.
一般来说,<jsp:plugin>元素会指定对象是Applet还是Bean,同样也会指定Class的名字,另外还会指定将从哪里下载这个Java插件。
<jsp:plugin
type="bean|applet"
code="classFileName"
codebase="classFileFirectoryName"
[name="instanceName"]
[archive="URIToArchive,...."]
[align="botton|top|middle|left|right"]
[height="displyPixels"]
[width="displyPixels"]
[hspace="leftRightPixels"]
[vspace="topBottomPixels"]
[jreversion="JREVersionNumber|1.1"]
[nspluginurl="URLToPlugin"]
[iepluginurl="URLToPlugin"]>
[<jsp:params>
<jsp:param name="parameterName" value="{parameterValue|<%=expression%>}"/>+
</jsp:params>]
[<jsp:fallback>text message for user</jsp:fallback>]
</jsp:plugin>
例如:
<jsp:plugin type= applet code="com.hellking.test.MyApplet.class" codebase=".">
<jsp:params>
<jsp:param name="aParameterName" value="aParamterNameValue"/>
</jsp:params>
<jsp:fallback>
<p>Unable to load applet</p>
</jsp:fallback>
</jsp:plugin>
type="bean|applet"
这是将被执行的插件对象的类型。必须在Bean和Applet中指定一个,因此这个属性没有默认值
code="classFileName"
这是插件将执行的Java类文件名称。在名称中必须包含扩展名,且此文件必须在用codebase属性指明的目录下。
codebase="classFileDirectoryName"
这包含插件将运行的Java类的目录或指向这个目录的路径。默认此JSP文件的当前路径
name="instanceName"
这是Bean或Applet的实例的名称。使得被同一个JSP文件调用的Bean或Applet之间的通信成为可能。
archive="URIToArchive,......."
这是以逗号分隔的路径名列表,是那些用于codebase指定的目录下的类装载器预装载的存档文件所在的路径名。
align="botton|top|middle|left|right"
图形、对象、Applet的排序方式。
height="displayPixels" width="displayPixels"
这是Applet或Bean将要显示的长、宽的值。此值为数字,单位为像素。
hspace="leftRightPixels" vspace="topBottomPixels"
这是Applet或Bean显示时在屏幕左右、上下所需留下的空间大小,单位为像素
jreversion="JREVersionNumber|1.1"
这是Applet或Bean运行所需的java Runtime Environment的版本,默认是1.1
nspluginurl="URLToPlugin"
这是NetScape Navigation 用户能够使用的JRE的下载地址,标准为www.sun.com
iepluginurl="URLToPlugin"
这是IE用户能是使用的JRE的下载地址
<jsp:params>
[<jsp:param name="parameterName" value="{parameterValue|<%=expression%>}"/>]
</jsp:params>
表示需要向Applet或Bean传送的参数或参数值
<jsp:fallback>text message for user</jsp:fallback>
这是用于Java插件不能启用时显示给用户的一段文字。
发表评论
-
java实现读取文件下所有的excel文件
2012-08-10 09:30 2089最近处理一个压缩包,里面有几百上千个excel文件。本来 ... -
在firefox浏览器下出现如果引用外部连接不存在会隐藏红叉
2012-07-23 15:38 993在firefox下引用出错的一些图片会隐藏红叉。而在IE下 ... -
java 字符替换的一些问题值得记录下
2011-09-30 16:40 884最近在处理一些字符串的替换中发生的一些问题。 最近需要临 ... -
ExtJs学习之弹出框,提示框,输入框等框
2011-06-23 22:13 93791.ExtJs之消息框: 语法:Ext.MessageB ... -
FreeMarker学习之概念
2010-08-04 10:12 860FreeMarker概述: 引用 1. ... -
HTML标准属性
2010-07-03 20:35 754核心属性(Core attributes) 以下标签 ... -
HTML标签
2010-07-03 20:14 1009HTML 4.01 / XHTML 1.0 参考手册 按字母 ... -
HTML基础
2010-07-03 00:54 772基于Web前端技术是有HTML静态语言向现在的JaveSc ... -
Struts2的开发规范和技巧
2010-05-28 14:56 1240基于Struts2的开发,如果没有足够的经验和规范做支撑,并不 ... -
第一次的Struts2的一个异常记录
2010-05-28 14:22 1051在配置正确struts.xml、web.xml、Action类 ... -
Java处理Excel全解一
2010-05-25 10:00 2190在获取客户需求的时候 ... -
Java EE 6 规范之平台概述
2010-05-22 21:28 2213JavaTM平台企业版(Java EETM)的概述 体系结构 ... -
Python3入门学习
2010-05-14 14:51 2237在学习一门计算机语言的时候,首先接触的入门程序基本上都是& ... -
Python3操作文件,目录和路径
2010-05-14 11:48 35081.遍历文件夹和文件 ... -
内存溢出
2010-04-22 14:23 1425java SE应用程序共同的问 ... -
JPA之ManyToMany的处理
2010-04-18 14:17 4513在处理关系中,最为麻烦的可能是多对多的关系处理,因为多对多 ... -
JPA之OneToOne关系处理
2010-04-18 14:05 3942在很早学习关系数据库的时候学过一对多,多对一,一对一,多对多的 ... -
JPA之OneToMany和ManyToOne处理
2010-04-18 13:52 18928前面介绍和总结了JPA ... -
JPA学习之二(入门篇)
2010-04-16 10:48 3762简单总结下,JPA的入门。在学习JPA的时候运用参考Hib ... -
JPA2.0的学习一
2010-04-15 17:18 8634Java EE 5平台引入了Java ...
相关推荐
<JSP语法详解> e book
jsp语法详解 jsp语法是Java服务器页面(JavaServer Pages)的缩写,是一种基于Java技术的服务器端脚本语言。jsp语法用于在Web服务器上生成动态网页。jsp文件是一种特殊的html文件,它可以包含-java代码、html代码和...
### JSP应用语法详解 #### 一、简介 JSP(Java Server Pages)是一种基于Java技术的服务器端脚本语言,用于创建动态网页。它结合了HTML标记与Java代码,使得开发者可以在静态网页的基础上添加动态内容。JSP通过将...
**JSP语法详解** JSP(JavaServer Pages)是一种基于Java技术的动态网页开发工具,它允许开发者在HTML或XML文档中嵌入Java代码来实现动态内容的生成。本篇将详细解析JSP的基本语法,包括JSP的五种构成元素:注释、...
**JSP语法详解** JSP(JavaServer Pages)是一种基于Java技术的动态网页开发语言,它结合了HTML和Java代码,使得开发者可以在网页中嵌入Java逻辑,从而实现动态网页的创建。以下是对JSP语法的详细解释: **1. JSP...
### JSP语法详解 JSP(JavaServer Pages)是一种基于Java技术的标准,用于创建动态网页。JSP将静态页面和动态脚本结合在一起,能够处理客户端请求并返回响应。下面我们将详细探讨JSP中的各种元素及其用法。 #### ...
### JSP语法详解快速入门 #### 一、HTML注释 HTML注释是JSP语法中的基础元素之一,主要用于在客户端展示注释信息。在JSP中,HTML注释的语法为`<!--comment[]-->`。与传统的HTML注释相似,这种注释会在客户端的HTML...
总结,JSP语法包括注释、声明、表达式和Scriptlet,这些元素共同构成了JSP页面的基础结构。理解并熟练掌握这些语法,有助于开发人员编写高效、清晰的JSP代码。在实际开发中,为了提高代码可维护性和遵循MVC原则,...
### JSP语法基础详解 #### 一、JSP页面组成及元素分类 JSP (Java Server Pages) 是一种基于Java的服务器端动态网页技术标准,它允许开发人员创建功能丰富的Web应用程序。一个JSP页面主要由**元素**和**模板数据**...
【JSP核心语法详解】 JSP(JavaServer Pages)是一种基于Java技术的动态网页开发工具,它允许开发者在HTML代码中嵌入Java代码,实现服务器端的动态处理。本篇文章将深入探讨JSP的核心语法,包括注释、声明、表达式...
以下是对JSP语法关键部分的详细解释: 1. **HTML 注释**: HTML注释是用于在客户端显示的注释,不会影响网页的执行。在HTML中,注释使用`<!-- ... -->`包裹,如例子1所示。在例子2中,JSP表达式可以被嵌入到HTML...
【JSP语法详解】 JSP(JavaServer Pages)是Java平台上的动态网页技术,它允许开发者将静态HTML、XML或者WML与动态Java代码结合在一起,以创建交互式的Web应用程序。JSP的主要目的是简化Web开发,使服务器端的编程...
JSP语法是开发者掌握JSP技术的基础,它使得Java程序员能够轻松地在网页中嵌入Java代码,实现动态内容的生成。 ### 1. JSP页面结构 一个基本的JSP页面由两部分组成:静态内容和动态脚本元素。静态内容包括HTML、CSS...
**JSP语法详解** JSP(JavaServer Pages)是一种基于Java技术的动态网页开发工具,它允许开发者在HTML页面中嵌入Java代码,实现服务器端的动态内容生成。本篇文章将详细讲解JSP中的四种主要语法元素:HTML注释、...