📄 jsp-into.htm
字号:
<%@ page errorPage="errorPage.jsp" %>, </p>
<p>以及你是?需要为使用者管理通话期的信息,可能存取多个网页(稍后在JavaBeans里会有更多通话期的讨论): <br>
<%@ page session="true" %>。 </p>
<p> include编译器指示让你将你的内容分成几个可管理的组件,就像那些有表头或脚注的网页。所包含的网页可以是固定格式的HTML网页或者是JSP内容的网页:
<br>
<%@ include file="filename.jsp" %>。 </p>
<p>宣告</p>
<p> JSP声明让你定义网页层的变量,来储存信息或定义支持的函式,让JSP网页的其余部分能够使用。如果你发现自己有太多的程序代码,你最好将它们放在不同的Java类别里。你可以在
<%! ?%>卷标里找到声明。记住要在变量声明的后面加上分号,就跟任何有效的Java叙述的形式一样: <%!
int i=0; %>。 </p>
<p>表达式</p>
<p> JSP里有表达式,评估表达式的结果可以转换成字符串并且直接使用在输出网页上。JSP运算是属于 <%= ?%> 卷标里,并不包含分号,加引号字符串的无用部分。
</p>
<p><%= i %> <br>
<%= "Hello" %> 。 </p>
<p>程序代码段/小型指令文件</p>
<p> JSP程序代码片段或小型指令文件是包含在<% ?%> 卷标里。当网络服务器接受这段请求时,这段Java程序代码会执行。小型指令文件可以是原始的HTML或XML,其内部的程序代码片段可以让你建立有条件的执行程序代码,或者只是一些使用另一块程序代码的东西。举例来说,下列的程序代码结合了表达式与小型指令文件,在H1,H2,H3,以及H4卷标里显示字符串"Hello"。小型指令文件不限于一行的原始程序代码
: </p>
<p><% for (int i=1; i<=4; i++) { %> <br>
<H<%=i%>>Hello</H<%=i%>> <br>
<% } %>。 </p>
<p>注释 </p>
<p> 最后一个主要JSP组件是嵌入式注释。虽然你可以在你的档案里包含HTML注释,如果使用者检视网页的原始码,他们也会看到这些注释。如果你不要让使用者看到你的批注,你可以将它放在<%--
?--%>卷标里: </p>
<p><%-- 针对伺服端的注释 --%>。</p>
<p>JSP与JavaBean </p>
<p><br>
虽然你可以在小型指令文件里放入一大块的程序代码,但是大多数的Java程序代码是属于可以重复使用的组件,称为JavaBean。JavaBean就跟ActiveX控件一样:它们提供已知的功能,并且是为了可随时重复使用的目的而设计的。
</p>
<p> JavaBean的价值在于它可以经由一组特性来使用,而这些特性则提供对JavaBean设定的存取。以人来作范例,此人就是JavaBean,而他的姓名,社会福利安全号码,以及住址可以是特性。对于JSP网站,基本上你是将'JavaBean'动态的连接到你的网站。
</p>
<p> 假设JavaBean是在建立网站之前建好的,你要做的第一件事是告诉JSP网页它所需要使用JavaBean.这工作可以用<jsp:useBean>卷标来完成:
<br>
<jsp:useBean id="localName" class="com.jguru.Person"
scope="application" />. <br>
</p>
<jsp:useBean>卷标需要你以id 属性来辨识豆子.在这里,你提供一个名称让JSP网页来辨识豆子,除了id 属性之外,你也必须告诉网页要到哪里去找这个豆子,或者是它的Java类别名称。类别属性提供如何在各式方法之中找到它,最后一个需要的组件是scope
属性.有了范围属性的帮助,你可以告诉豆子,要它为单一网页(预设)[scope="page"];为一个被请求的网页[scope="request"];为通话期[scope="session"];或为整个应用程序[scope="application"]来维护它自己的信息.对于通话期范围,你可以很容易的维护JSP网页里的项目,例如购物车。
<p> 一但你宣告了JavaBean之后,你就可以存取它的特性来订定它。要取得一特性的值,使用<jsp:getProperty>卷标。有了<jsp:getProperty>卷标,你可以指定要使用的豆子名称(从useBean的id字段),以及你要取得值的特性。接着,真正的值就会放在输出里:
<br>
<jsp:getProperty id="localName" property="name"
/>. </p>
<p> 要更改JavaBean的特性,你需要使用<jsp:setProperty>卷标.对这个卷标,你也需要辨认豆子以及要修正的特性,除此之外,你还需要提供新值.如果命名正确,这些可以直接经由规定的格式取得:
<br>
<jsp:setProperty id="localName" property="*"
/>; </p>
<p> 要从一参数取得,你必须直接命名此特性以及参数: <br>
<jsp:setProperty id="localName" property="address"
param="parameterName" />; </p>
<p> 或是直接以名称与值来设定: <br>
<jsp:setProperty id="localName" property="serialNumber"
value="string" /> or<br>
<jsp:setProperty id="localName" property="serialNumber"
value= <%= expression %> />. </p>
<p>有关JavaBean的最后一点:要让网络服务器可以找到JavaBean,你需要将它们的类别档案放在特别位置。对JSWDK而言,最简单的地方是在安装目录里的类别目录,例如
jswdk-1.0.1classes.</p>
<p>JSP的内部对象 </p>
<p><br>
最后一个与JSP语法有关的组件叫做内部对象.在JSP小型指令文件内,你可以存取这些内部对象来与执行JSP网页的servlet环境相互作用。许多对内部对象的存取应该要简化。然而,这些是范例,它们的存取都是可接受的,要完整的利用内部对象设定则需要对最新的Java
Servlet API有所了解。 </p>
<p> 下表列出你可以使用的内部对象。</p>
<p> </p>
<p>内部对象说明</p>
<p> request<br>
客户端请求,此请求会包含来自GET/POST请求的参数<br>
<br>
response<br>
网页传回客户端的响应<br>
<br>
pageContext<br>
网页的属性是在这里管理<br>
<br>
session<br>
与请求有关的会话<br>
<br>
application<br>
servlet正在执行的内容<br>
<br>
out<br>
用来传送响应的输出流<br>
<br>
config<br>
servlet的架构对象<br>
<br>
page<br>
JSP网页本身<br>
<br>
exception<br>
针对错误网页,未捕捉的例外<br>
<br>
那么,这些是做什么的,而你应该如何使用它们呢?基本上,在你的小型指令文件里,你可以使用它们来存取执行JSP程序代码的servlet。为了避免谈论到太多Servlet
API 的细节,让我们来检视一些你可以利用它们来做的事: </p>
<p>不必使用表达式,你可以直接存取内部out对象来打印一些东西到response: <br>
<% out.println("Hello"); %>. <br>
不必直接传送参数到JavaBean,你可以藉由请求对象来取得参数的值: <br>
<% String name=request.getParameter("name"); out.println(name);
%>。 <br>
当你以JSP写了许多的应用程序之后,如果你建立了JavaBeans或者发现你自己将太多的Java原始码放入你的JSP档案,你需要建立支持的Java类别,这样可以鼓励重复使用并且降低JSP网页转换时所需要的时间。当你需要建立Java类别时,你必须:
</p>
将JDSWK的安装目录in目录加到你的PATH。在你的autoexec.bat档案的PATH行的最后,加入C:1.2.2in;
。 <br>
<p>以下面的指令将JAR档案复制到jrelibext目录: <br>
copy c:jswdk-1.0.1libservlet.jar c:jdk1.2.2jrelibext. <br>
</p>
<p> </p>
<!-- #EndEditable --></td>
<td width="20"> </td>
</tr>
<tr>
<td width="20" height="11"> </td>
<td width="541" height="11"><!-- #BeginEditable "7" --><!-- #EndEditable --></td>
<td width="101" height="11">
</td>
<td width="20" height="11"> </td>
</tr>
</table><div align="center"> <br>
</div>
</td>
</tr>
</table>
<div align="center">
<br>
</div>
</body>
<!-- #EndTemplate --></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -