返回
数据
分类

我们首先来看一看JSP指令和脚本元素,一个scriptlet能够包含多个jsp语句

日期: 2020-03-31 06:29 浏览次数 : 89

HTML注释

如果你不熟悉Java编程,也许你想看一下Sun的指南 。然而网页创建者并不需要进行太多的Java开发。除了一些方法调用,在你的JSP网页里应尽可能少用Java代码。

表达式 Scriptlet

在客户端显示一个注释。

记住以上提示,我们首先来看一看JSP指令和脚本元素,之后我们会解释JavaBeans和隐含对象。共有五种JSP指令和脚本元素。在JSP 1.0版中,大部分JSP被一个以“< %” 开头和以“%>”结尾的的标记括在其中。在更新的JSP 1.1规范出台后,就有了与XML兼容的版本。

包含一个有效的程序段.

JSP 语法

JSP指令和脚本元素

JSP 语法

spacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"> <!-- comment [ <%= expression %> ] -->

Directives < %@ directive %>
  Declarations < %! declaration %>
  Expressions < %= expression %>
  Code Fragment/Scriptlet < % code fragment %>
  Comments < %-- comment --%>
 
指令

<% code fragment %>

例子 1

JSP指令是为JSP引擎而设计的。他们并不直接产生任何可见输出,而只是告诉引擎如何处理其余JSP页面。这些指令始终被括在 “< %@ ?%>”标记中。两个最重要的指令是“pagePage”和“Include”。“Taglib”指令不在讨论之列,但是在用JSP1.1创建自定义标记可以使用它。

例子

<!-- This file displays the user login screen -->
在客户端的HTML源代码中产生和上面一样的数据:
<!-- This file displays the user login screen -->

几乎在所有JSP页面顶部都会看到“Page”指令。尽管不是必须的,但它可以让你指定:

<%
String name = null;
if (request.getParameter("name") == null) {
%>
<%@ include file="error.html" %>
<%
} else {
foo.setName(request.getParameter("name"));
if (foo.getName().equalsIgnoreCase("integra"))
name = "acura";
if (name.equalsIgnoreCase( "acura" )) {
%>

例子 2

到何处查找起支持作用的Java类别:

描述

<!-- This page was loaded on <%= (new java.util.Date()).toLocaleString() %> -->

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

一个scriptlet能够包含多个jsp语句,方法,变量,表达式

在客户端的HTML源代码中显示为:

出现Java运行问题时,将网上冲浪者引向何处:

因为scriptlet,我们便能做以下的事:

<!-- This page was loaded on January 1, 2000 -->

< %@ page errorPage="errorPage.jsp" %>,

声明将要用到的变量或方法(参考 声明).
编写JSP表达式(参考 表达式).
使用任何隐含的对象和任何用<jsp:useBean>声明过的对象
编写JSP语句 (如果你在使用Java语言,这些语句必须遵从Java Language Specification,).
必赢手机登录网址 ,任何文本,HTML标记,JSP元素必须在scriptlet之外
当JSP收到客户的请求时,scriptlet就会被执行,如果scriptlet有显示的内容,这些显示的内容就被存在out对象中。

描述

还有你是否需要管理用户的会话级信息,这些信息可能来自多个网页(在下面的JavaBeans一节将对此做进一步讲)述:

这种注释和HTML中很像,也就是它可以在“查看源代码”中看到。

< %@ page session="true" %>.

唯一有些不同的就是,你可以在这个注释中用表达式(例子2所示)。这个表达示是不定的,由页面不同而不同,你能够使用各种表达式,只要是合法的就行。

“Include”指令可以把你的内容分成更多可管理的元素,比如包括一个普通页面页眉或页脚的元素。包含的网页可以是一个固定的HTML 页面或更多的JSP内容:

隐藏注释

< %@ include file="filename.jsp" %>

写在JSP程序中,但不是发给客户。

声明

JSP 语法

JSP声明用来让你定义页面级变量,以保存信息或定义JSP页面的其余部分可能需要的支持方法。如果你发现代码太多,通常最好把它们写成一个独立的Java类别。声明一般都在“< %! ?%>”标记中。一定要以分号(;)结束变量声明,因为任何内容都必须是有效的Java语句:

<%-- comment --%>

< %! int i=0; %>。

例子:

表达式

<%@ page language="java" %>
<html>
<head><title>A Comment Test</title></head>
<body>
<h2>A Test of Comments</h2>
<%-- This comment will not be visible in the page source --%>
</body>
</html>

有了JSP表达式,表达式评估结果会被转换成一个字符串,并且被直接包括在输出页面之内。JSP 表达式包含在“< %= ?%>” 标记中,没有分号,除非在加引号的字符串部分使用分号。

描述

< %= i %>
< %= "Hello" %> .

用隐藏注释标记的字符会在JSP编译时被忽略掉。这个注释在你希望隐藏或注释你的JSP程序时是很有用的。

代码片段/脚本片段

JSP编译器是不会对%--and--%之间的语句进行编译的,它不会显示在客户的浏览器中,也不会在源代码中看到在%-- --%之间,你可以任意写注释语句,但是不能使用“--%>”,如果你非要使用请用“--%>”。

代码片段/脚本片段(Scriptlets) JSP代码片段或脚本片段是嵌在“< % ?%>”标记中的。这种Java代码在Web服务器响应请求时就会运行。在脚本片段周围可能是原始的HTML或XML语句,在这些地方,代码片段可以使你创建条件执行代码,或要用到另外一段代码的代码。例如,以下的代码组合使用表达式和代码片段,显示H1、H2、H3和H4标记中的字符串“Hello”。代码片段并不局限于一行源代码:

声明

< % for (int i=1; i< =4; i++) { %>
< H< %=i%>>Hello< /H< %=i%>>
< % } %>.

在JSP程序中声明合法的变量和方法。

注释

JSP 语法

最后一个主要的JSP元素是嵌入式注释。尽管你始终可以在文件中加入HTML注释,但用户在查看页面源代码时会看到这些注释。如果你不想让用户看到它,你就应该将其嵌入“< %-- ?--%>” 标记中:

<%! declaration; [ declaration; ]+ ... %>

< %-- comment for server side only --%>.

例子

隐藏注释

<%! int i = 0; %>
<%! int a, b, c; %>
<%! Circle a = new Circle(2.0); %>

JSP页面的文档,但是不被传送到客户端

描述

JSP语法

声明你将要在JSP程序中用到的变量和方法。你也必须这样做,不然会出错。

< %-- 注释 --%>
  例子1
  < %@ page language="java" %>
  < html>
  < head>< title>注释测试< /titel>< /head>
  < body>
  < h2>注释测试< /h2>
  < %-- 这一段注释在原代码中是看不到的 --%>
  < /body>
  < /html>

你可以一次性声明多个变量和方法,只要以";"结尾就行,当然这些声明在Java中要是合法的。

描述

当你声明方法或变量时,请注意以下的一些规则:

JSP会忽略隐藏注藏的文本行,隐藏注释通常被用来注释你不愿意被别人看到的注释。JSP不处理任何< %--和--%>之间的字符,这段注释也不会被发送到客户端,当然查看原代码也发现不了它。

1 声明必须以";"结尾(Scriptlet有同样的规则,但是表达式就不同了)。

在使用--%>结束注释之前你可以使用任何符号,如果你想在注释中用--%>,那么你可以用--%>避开。

2 你可以直接使用在% @ page %中被包含进来的已经声明的变量和方法,不需要对它们重新进行声明。

声明

3 一个声明仅在一个页面中有效。如果你想每个页面都用到一些声明,最好把它们写成一个单独的文件,然后用%@ include %或jsp:include元素包含进来。

在JSP页面声明变量和方法

表达式

JSP语法

包含一个符合JSP语法的表达式。

< %! 声明;[声明;]+……%>
  例子1
  < %! int i =0; %>
  < %! int a, b, c; %>
  < %! circle a = new circle (2,0); %>

JSP 语法

描述

<%= expression %>

在JSP页面中,如果你想用变量和方法必须事先声明。

例子

你可以在一个声明元素里声明任意多个变量和方法,不够最后有多长,你都要加一个分号在后面。声明必须遵守JAVA程序语言的规定。

<font color="blue"><%= map.size() %></font>
<b><%= numguess.getHint() %></b>.

当你在JSP中声明变量和方法的时候,必须牢记住以下几点规则:

描述

1、必须以分号结尾(同样的规则适用于脚本的编写,相反,表达式不用)

表达式元素表示的是一个在脚本语言中被定义的表达式,在运行后被自动转化为字符串,然后插入到这个表达式在JSP文件的位置显示。因为这个表达式的值已经被转化为字符串,所以你能在一行文本中插入这个表达式(形式和ASP完全一样)。

2、用< %@ page %>引入的页面已经声明过的变量和方法可以直接使用,不用再次声明。

当你在JSP中使用表达式时请记住以下几点:

声明可以扩展范围,也就是说可以扩展到任何静态的JSP文件。任何用< jsp:include>包含的静态文件都可以。记诠动态的页面不可以。

1 你不能用一个分号(“;”)来作为表达式的结束符。但是同样的表达式用在scriptlet中就需要以分号来结尾了!查看Scriptlet这个表达式元素能够包括任何在Java Language Specification中有效的表达式。

表达式

2 有时候表达式也能作为其它JSP元素的属性值。一个表达式能够变得很复杂,它可能由一个或多个表达式组成,这些表达式的顺序是从左到右。

在JSP页面里用脚本语言表达式

Scriptlet

JSP语法

包含一个有效的程序段。

< %=表达式%>

JSP 语法

例子1

width="400" border="1" cellspacing="0" cellpadding="2" bordercolorlight = "black" bordercolordark = "#FFFFFF" align="center"> <% code fragment %>

地图文件有< font color="bule">< %=map.size()%>< /font>个。

例子

猜的不错,但是不对。试试< b>< %=numguess.gethint()%>< /b>。

<%
String name = null;
if (request.getParameter("name") == null) {
%>
<%@ include file="error.html" %>
<%
} else {
foo.setName(request.getParameter("name"));
if (foo.getName().equalsIgnoreCase("integra"))
name = "acura";
if (name.equalsIgnoreCase( "acura" )) {
%>

描述

描述

表达式通过计算得出值,转换成字符串,插入到JSP页面中想要显示出来的地方。因为得出的值已经是字符串了,那么你就可以在JSP页面中用HTML标签任意的控制它。

一个scriptlet能够包含多个jsp语句、方法、变量、表达式。

当你在JSP页面中写表达式的时候,记住以下要点:

因为有了scriptlet,我们便能做以下的事:

1、千万不要用分号来结束表达式(可是,在脚本中的表达式却要加分号;参阅脚本)

1 声明将要用到的变量或方法(参考 声明)。

2、表达式中可以包含任何适合Java语言规范表达式。

2 编写JSP表达式(参考 表达式)。

有时候你可以把表达式的值作为JSP要素的属性值。

<

脚本

页面中用脚本语言编写的脚本段

JSP语法

< %=代码段%>
  例子1
  < %
  String name = null;
  if (request.getParameter("name")==null {
  %>
  < %@ include file="error.html"%>
  < % } else {
  foo.setName(request.getParmeter("name"));
  if (foo.getname().equalsIgnoreCase("integra"))
  name = "acura";
  if (name.equalsIgnoreCase("acura")){
  %>

描述

一段代码可以包括任意长的代码,声明任意多的变量和方法或者包括任意多的表达式。当你在编写代码的时候,你可以做如下事情:

1、为以后的需要声明变量和方法(参阅:声明)

2、使用表达式(参阅:表达式)

3、使用固定值和< jsp:useBean>中的对象

4、在页面中使用任意其他声明值(如果你使用JAVA语言,必须遵守JAVA规则)文本,HTML标签和JSP元素必须在脚本之外。脚本执行需要时间。

。然而网页创建者并不需要进行太多的Java开发。除了一些方法调用,在你的JSP网页里应尽...