如果你不熟悉Java编程也许你想看一下Sun的指南 然而网页创建者并不需要进行太多的Java开发除了一些方法调用在你的JSP网页里应尽可能少用Java代码
记住以上提示我们首先来看一看JSP指令和脚本元素之后我们会解释JavaBeans和隐含对象共有五种JSP指令和脚本元素在JSP 版中大部分JSP被一个以“< %” 开头和以“%>”结尾的的标记括在其中在更新的JSP 规范出台后就有了与XML兼容的版本
JSP指令和脚本元素
Directives < %@ directive %>
Declarations < %! declaration %>
Expressions < %= expression %>
Code Fragment/Scriptlet < % code fragment %>
Comments < % comment %>
指令
JSP指令是为JSP引擎而设计的他们并不直接产生任何可见输出而只是告诉引擎如何处理其余JSP页面这些指令始终被括在 “< %@ ?%>”标记中两个最重要的指令是“pagePage”和“Include”“Taglib”指令不在讨论之列但是在用JSP创建自定义标记可以使用它
几乎在所有JSP页面顶部都会看到“Page”指令尽管不是必须的但它可以让你指定
到何处查找起支持作用的Java类别
< %@ page import="javautilDate" %>
出现Java运行问题时将网上沖浪者引向何处
< %@ page errorPage="errorPagejsp" %>
还有你是否需要管理用户的会话级信息这些信息可能来自多个网页(在下面的JavaBeans一节将对此做进一步讲)述
< %@ page session="true" %>
“Include”指令可以把你的内容分成更多可管理的元素比如包括一个普通页面页眉或页脚的元素包含的网页可以是一个固定的HTML 页面或更多的JSP内容
< %@ include file="filenamejsp" %>
声明
JSP声明用来让你定义页面级变量以保存信息或定义JSP页面的其余部分可能需要的支持方法如果你发现代码太多通常最好把它们写成一个独立的Java类别声明一般都在“< %! ?%>”标记中一定要以分号()结束变量声明因为任何内容都必须是有效的Java语句
< %! int i=; %>
表达式
有了JSP表达式表达式评估结果会被转换成一个字符串并且被直接包括在输出页面之内JSP 表达式包含在“< %= ?%>” 标记中没有分号除非在加引号的字符串部分使用分号
< %= i %>
< %= "Hello" %>
代码片段/脚本片段
代码片段/脚本片段(Scriptlets) JSP代码片段或脚本片段是嵌在“< % ?%>”标记中的这种Java代码在Web服务器响应请求时就会运行在脚本片段周围可能是原始的HTML或XML语句在这些地方代码片段可以使你创建条件执行代码或要用到另外一段代码的代码例如以下的代码组合使用表达式和代码片段显示HHH和H标记中的字符串“Hello”代码片段并不局限于一行源代码
< % for (int i=; i< =; i++) { %>
< H< %=i%>>Hello< /H< %=i%>>
< % } %>
注释
最后一个主要的JSP元素是嵌入式注释尽管你始终可以在文件中加入HTML注释但用户在查看页面源代码时会看到这些注释如果你不想让用户看到它你就应该将其嵌入“< % ?%>” 标记中
< % comment for server side only %>
隐藏注释
JSP页面的文档但是不被传送到客户端
JSP语法
< % 注释 %>
例子
< %@ page language="java" %>
< html>
< head>< title>注释测试< /titel>< /head>
< body>
< h>注释测试< /h>
< % 这一段注释在原代码中是看不到的 %>
< /body>
< /html>
描述
JSP会忽略隐藏注藏的文本行隐藏注释通常被用来注释你不愿意被别人看到的注释JSP不处理任何< %和%>之间的字符这段注释也不会被发送到客户端当然查看原代码也发现不了它
在使用%>结束注释之前你可以使用任何符号如果你想在注释中用%>那么你可以用%>避开
声明
在JSP页面声明变量和方法
JSP语法
< %! 声明[声明]+……%>
例子
< %! int i =; %>
< %! int a b c; %>
< %! circle a = new circle (); %>
描述
在JSP页面中如果你想用变量和方法必须事先声明
你可以在一个声明元素里声明任意多个变量和方法不够最后有多长你都要加一个分号在后面声明必须遵守JAVA程序语言的规定
当你在JSP中声明变量和方法的时候必须牢记住以下几点规则
必须以分号结尾(同样的规则适用于脚本的编写相反表达式不用)
用< %@ page %>引入的页面已经声明过的变量和方法可以直接使用不用再次声明
声明可以扩展范围也就是说可以扩展到任何静态的JSP文件任何用< jsp:include>包含的静态文件都可以记诠动态的页面不可以
表达式
在JSP页面里用脚本语言表达式
JSP语法
< %=表达式%>
例子
地图文件有< font color="bule">< %=mapsize()%>< /font>个
猜的不错但是不对试试< b>< %=numguessgethint()%>< /b>
描述
表达式通过计算得出值转换成字符串插入到JSP页面中想要显示出来的地方因为得出的值已经是字符串了那么你就可以在JSP页面中用HTML标签任意的控制它
当你在JSP页面中写表达式的时候记住以下要点
千万不要用分号来结束表达式(可是在脚本中的表达式却要加分号参阅脚本)
表达式中可以包含任何适合Java语言规范表达式
有时候你可以把表达式的值作为JSP要素的属性值
脚本
页面中用脚本语言编写的脚本段
JSP语法
< %=代码段%>
例子
< %
String name = null;
if (requestgetParameter("name")==null {
%>
< %@ include file="errorhtml"%>
< % } else {
foosetName(requestgetParmeter("name"));
if (foogetname()equalsIgnoreCase("integra"))
name = "acura";
if (nameequalsIgnoreCase("acura")){
%>
描述
一段代码可以包括任意长的代码声明任意多的变量和方法或者包括任意多的表达式当你在编写代码的时候你可以做如下事情
为以后的需要声明变量和方法(参阅声明)
使用表达式(参阅表达式)
使用固定值和< jsp:useBean>中的对象
在页面中使用任意其他声明值(如果你使用JAVA语言必须遵守JAVA规则)文本HTML标签和JSP元素必须在脚本之外脚本执行需要时间