📄 322.html
字号:
} <br>例子 <br><jsp:useBean id="cart" scope="session" class="session.Carts" /> <br><jsp:setProperty name="cart" property="*" /> <br><jsp:useBean id="checking" scope="session" class="bank.Checking" > <br><jsp:setProperty name="checking" property="balance" value="0.0" /> <br></jsp:useBean> <br><br>描述 <br><jsp:useBean>用于定位或示例一个JavaBeans组件。<jsp:useBean>首先会试图定位一个Bean实例,如果这个Bean不存在,那么<jsp:useBean>就会从一个class或模版中进行示例。 <br><br>为了定位或示例一个Bean,<jsp:useBean>会进行以下步聚,顺序如下: <br><br>通过给定名字和范围试图定位一个Bean. <br>对这个Bean对象引用变量以你指定的名字命名. <br>如果发现了这个Bean,将会在这个变量中储存这个引用。如果你也指定了类型,那么这个Bean也设置为相应的类型. <br>如果没有发现这个Bean,将会从你指定的class中示例,并将此引用储存到一个新的变量中去。如果这个class的名字代表的是一个模版,那么这个Bean被java.beans.Beans.instantiate示例. <br>如果<jsp:useBean>已经示例(不是定位)了Bean,同时<jsp:useBean>和</jsp:useBean>中有元素,那么将会执行其中的代码. <br><jsp:useBean>元素的主体通常包含有<jsp:setProperty>元素,用于设置Bean的属性值。正如上面第五步所说的,<jsp:useBean>的主体仅仅只有在<jsp:useBean>示例Bean时才会被执行,如果这个Bean已经存在,<jsp:useBean>能够定位它,那么主体中的内容将不会起作用 <br><br>属性以及用法 <br>id="beanInstanceName" <br>在你所定义的范围中确认Bean的变量,你能在后面的程序中使用此变量名来分辨不同的Bean <br><br>这个变量名对大小写敏感,必须符合你所使用的脚本语言的规定,在Java Programming Language中,这个规定在Java Language 规范已经写明。如果这个Bean已经在别的<jsp:useBean>中创建,那么这个id的值必须与原来的那个id值一致. <br><br>scope="page / request / session / application" <br>Bean存在的范围以及id变量名的有效范围。缺省值是page,以下是详细说明: <br><br> <br><br>page - 你能在包含<jsp:useBean>元素的JSP文件以及此文件中的所有静态包含文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。 <br> <br><br>request - 你在任何执行相同请求的Jsp文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。你能够使用Request对象访问Bean,比如request.getAttribute(beanInstanceName) <br> <br><br>session - 从创建Bean开始,你就能在任何使用相同session的Jsp文件中使用Bean.这个Bean存在于整个Session生存周期内,任何在分享此Session的Jsp文件都能使用同一Bean.注意在你创建Bean的Jsp文件中<% @ page %>指令中必须指定session=true <br> <br><br>application - 从创建Bean开始,你就能在任何使用相同application的Jsp文件中使用Bean.这个Bean存在于整个application生存周期内,任何在分享此application的Jsp文件都能使用同一Bean. <br>class="package.class" <br>使用new关键字以及class构造器从一个class中示例一个bean.这个class不能是抽象的,必须有一个公用的,没有参数的构造器.这个package的名字区别大小写。 <br><br>type="package.class" <br>如果这个Bean已经在指定的范围中存在,那么写这个Bean一个新的数据库类型 。如果你没有使用class或beanName指定type,Bean将不会被示例.package和class的名字,区分大小写. <br><br>beanName="{package.class / <%= expression %>}" type="package.class" <br>使用java.beans.Beans.instantiate方法来从一个class或连续模版中示例一个Bean,同时指定Bean的类型。 <br><br>beanName可以是package和class也可以是表达式,它的值会传给Beans.instantiate.tupe的值可以和Bean相同。 <br><br>package 和 class 名字区分大小写. <br>五、JSP隐含对象 <br>与JSP语法相关的最后的元素是一些叫做“隐含对象”的东西。在JSP代码片段中,你可以利用这些隐含对象与JSP页面的代码片段执行环境产生互动。应尽量少访问这些内置隐含对象。但是,在一某些情况下,访问隐含对象是可被接受的。若要充分利用隐含对象,就需了解最新的Java Servlet API。 <br>下表列出可用的隐含对象集合。 <br><br>隐含对象说明 <br>request 客户端请求,包括从GET/POST请求传递过来的参数 <br>response 网页传回客户端的反应 <br>pageContext 在此管理网页属性 <br>session 与请求关联的会话 <br>application 代码片段的运行环境 <br>out 传送响应的输出流 <br>config 代码片段配置对象 <br>page JSP网页本身 <br>exception 有错的网页中未被捕获的例外 <br><br><br>这些都是用来做什么的,你又如何来使用它们呢?基本上说,在你的脚本片段里,你可以用它们进入执行JSP代码的代码片段。用不着深入了解太多的Servlet API细节,我们来看看能用它们来做到的某些事情: <br><br><br>你可以不用表达式,直接进入“Out”隐含对象,将某些内容输出到响应中: <br><% out.println("Hello"); %>。 <br>用不着把一个参数直接送到JavaBean,你可以从请求对象获取参数值: <br><% String name=request.getParameter("name"); out.println(name); %>. <br><br>在你用JSP进行开发的过程中,进行更多的开发的过程中,如果创建了JavaBeans或发现JSP文件中加入了太多的Java源代码,你就需要创建起支持作用的Java分类(class)了,它可以协助你重复利用源代码并减少JSP网页编译时间。当你需要创建Java分类文件时,你必须: <br><br><br>将JDSWK installation\bin目录添加到PATH中。在autoexec.bat文件PATH行的末尾,加入“C:1.2.2/bin”。 <br>用这个命令将JAR文件复制到“\jre\lib\ext:”目录中: copy c:\jswdk-1.0.1\lib\servlet.jar c:\jdk1.2.2\jre\lib\ext. <br><br>创建一个JSP网站 <br>现在该是把所有这些JSP语法派上用场的时候了。我们将创建一个网页,它有一个输入表单,可以使用户输入一个股票代号以获得出当前股价(有20分钟)。如果输入有误,则显示报错网页。 <br><br>quote.jsp <br>首先,用 这个代码 创建一个quote.jsp网页并将其保存在JSWDK安装目录下的网页目录中。大多数的网页是标准的HTML,其间散布着JSP代码。第六行是一个网页指示,表示将把所有错误发送到“errorPage.jsp”文中。第13到15行是一个脚本片段,主要说明只有提供“符号”参数才会显示表格。“If”代码段在32到34行结束。第17行定义了要用的JavaBean,第18行从参数加载JavaBean的符号属性。第27行到29行显示Bean的属性。除了"if "代码段,实际上并不涉及其它Java代码。 <br><br>errorPage.jsp <br>下一步,将下列JSP源代码保存到网页目录中的“errorPage.jsp”文件中。“这是一个错误网页”的提示为第一行,它将isErrorPage网页提示属性设置为真。上一页说了明错误网页的位置,本页则说明这就是错误网页。其它JSP文件中的JSP专用代码只有访问隐含例外对象才用到。网页只显示其值: <br><br><%@ page isErrorPage="true" %> <br><br><html> <br><head> <br><title>Error Page</title> <br></head> <br><body> <br><br><h1>Our Error Page</h1></font> <br><br><!-- Print Exception --> <br>We got ourselves an exception: <br><%= exception %> <br><a href="quote.jsp">Restart</a> <br></body> <br></html>。 <br><br>Quotes.java <br>Quotes JavaBean 利用Yahoo资源来获得股票价格。需要将此 资源保存到JSWDK安装目录下“classes\com\jguru”目录中的“quotes.java”文件中。请在此用JSDK中的Javac编辑器来编辑它。 <br><br><br>你的第一个JSP网页。 <br>创建了这两个JSP文件,建立了JavaBean资源文件并编辑了它后,你就可以从http://localhost:8080/quote.jsp加载“quote.jsp”文件以查看结果,假设你没有更改JSWDK安装设置,转而使用别的端口。这个网页当然能做得更漂亮,但是它已实现了需要实现的功能,并且很好地展示了JSP的功能。</p></td>
</tr>
</table>
<p>
<CENTER><a href="http://www.jsp001.com/forum/newreply.php?action=newreply&threadid=322">点这里对该文章发表评论</a></CENTER>
<p>该文章总得分是 <font color=red>8</font> 分,你认为它对你有帮助吗?
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=322&intVote=4","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>非常多</a>](<font color=red>1</font>)
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=322&intVote=2","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>有一些</a>](<font color=red>2</font>)
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=322&intVote=1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>无帮助</a>](<font color=red>1</font>)
[<a href=javascript:void(0) onclick=window.open("http://www.jsp001.com/forum/codeVote.php?threadid=322&intVote=-1","","menubar=no,toolbar=no,location=no,directories=no,status=no,resizable=no,scrollbars=no,width=70,height=40,top=0,left=0")>是灌水</a>](<font color=red>1</font>) </p>
<script language="javascript" src="http://www.jsp001.com/include/read_thread_script.php?threadid=322"></script>
<p><CENTER>
Copyright © 2001 - 2009 JSP001.com . All Rights Reserved <P>
<IMG SRC="../image/jsp001_small_logo.gif" WIDTH="85" HEIGHT="30" BORDER=0 ALT="">
</CENTER></p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -