JSP教程(五)-JSP Actions的使用下

2016-01-29 12:20 5 1 收藏

JSP教程(五)-JSP Actions的使用下,JSP教程(五)-JSP Actions的使用下

【 tulaoshi.com - Java 】

  jsp:useBean Action 的使用

  一、 语法:
<jsp:useBean
id="beanInstanceName"
scope="page|request|session|application"
{ class="package.class" |
type="package.class" |
class="package.class" type="package.class" |
beanName="{package.class | <%= expression %}" type="package.class"
}
{ / |
其他元素
</jsp:useBean
}

  这个action使您能将一个JavaBean装入一个JSP页面。这是一个非常有用的能力,因为它使您可以使用可重用的JAVA类而不需牺牲性能。最简单的语法用于指定一个bean:

  <jsp:useBean id="name" class="package.class" /

  这通常意味着“实例化一个类的对象通过指定一个类,并将之与一个通过id指定名称的变量绑定”。然而,就象我们看到的,您可以指定一个scope属性来使得bean不仅仅与当前的页面相联系。在这种情形下,得到一个对已存在的bean的引用是非常有用的,而且,仅当没有相同的id和scope的bean存在时才创建一个新的。现在,您已有了bean,您可以通过jsp:setProperty来修改它,或者,通过使用之前用id指定的名字来使用scriptlet或明确的调用方法。当您说“这个bean有一个称为foo的X类型的属性”,您真正的意思是“这个类有一个称为getFoo的方法,它返回X类型的某类值,还有另一个方法称为setFoo,它以X为参数。”这jsp:setProperty action 将在下一单元详细的介绍,但是现在您既可以给出一个明确的值,给出一个属性来说明此值是从request的参数继承而来,也可以仅仅列出属性来标志此值应该从与属性名同名的参数继承而来。您可以通过调用适用的getXxx方法,或更普遍的,使用jsp:getProperty action,来得到已存在的JSP表达式或scriptlet属性。

  请注意,为bean指定的类必须在服务器的规则的类路径下,而不是用来保留当改变时自动装载的类的路径。例如,在Java Web Server上,它和它所用的类必须到类的目录或在lib目录下的一个jar文件内,而不是在servlets的目录下。

  下面让我们来看一个非常简单的例子,它装载一个bean并且设置/得到一个简单的串参数。

BeanTest.jsp
<HTML
<HEAD
<TITLEReusing JavaBeans in JSP</TITLE
</HEAD
<BODY
<CENTER
<TABLE BORDER=5
<TR<TH CLASS="TITLE"
Reusing JavaBeans in JSP</TABLE
</CENTER
<P
<jsp:useBean id="test" class="hall.SimpleBean" /
<jsp:setProperty name="test"
property="message"
value="Hello WWW" /
<H1Message: <I
<jsp:getProperty name="test" property="message" /
</I</H1
</BODY
SimpleBean.java

  以下是bean的原代码:

package hall;
public class SimpleBean {
private String message = "No message specified";
public String getMessage() {
return(message);
}
public void setMessage(String message) {
this.message = message;
}
}

  运行结果为:页面输出: Reusing JavaBeans in JSP

  bMessage:Hello WWW

  二、jsp:useBean 的详细用法

  最简单的使用bean的方式是:

  <jsp:useBean id="name" class="package.class"/
  为了装载bean,需要用jsp:setProperty和 jsp:getProperty来修改和检索bean的属性。且,还有两种别的选项。首先,您可以使用容器的格式,也就是:

<jsp:useBean ...
Body
</jsp:useBean

要指出的是,Body部分应该仅在bean第一次实例化时被执行,而不是在每次被找到和使用时。Beans能够被共享,因此,并不是所有的jsp:useBean 陈述都产生一个新的bean的实例。其次,除了id 或class以外,还有三种属性您可以使用:scope,type,和beanName。这些属性总结如下:

  属性

  用法

id
  给一个变量命名,此变量将指向bean。如果发现存在一个具有相同的id和scope 的bean则使用之而不新建一个。

class
  指出bean的完整的包名。

scope
  指明bean在之上可以被使用的前后关系。有四个可能的值:page,request,session,和application。缺省为page,表明bean仅在当前页可用(保存在当前的PageContext中)。request的一个值表明bean仅用于当前客户端的请求(保存在ServletRequest对象中)。Session的值指出在当前的HttpSession的生命周期内,对象对所有的页面可用。 最后,appl

来源:http://www.tulaoshi.com/n/20160129/1485664.html

延伸阅读
标签: Java JAVA基础
  前言     凡是有JSP编写经验的人都有JSP调试困难的体会。由于自动化调试工具的缺乏使得在调试JSP时不得不在文件中大量的使用打印语句。这种做法对于定位JSP范围内的错误是一个简单有效的手段,但如何快速有效的定位在JSP中调用的对象的内部错误就显得有点力不从心了。因为这样将不得不频繁地编译、发布、启停服务器,给...
标签: Java JAVA基础
  Eclipse作为一个java应用的IDE,使用非常方便,但是对于Jsp的开发支持还显得不够,在这里向大家推荐一个eclipse的plugins来协助JSP开发。这个名称叫lomboz,不但支持JSP语法高亮显示,还有Code Assist功能,可以与Jbuilder媲美。下面简要介绍一下eclipse2.1结合Tomcat开发Jsp的过程。 开发环境 软件 名称安装路径下载网站j2sdk1.4.1...
标签: Java JAVA基础
  JSP directive mso-hansi-font-family:""影响servlet 类的整体结构。它常用以下形式: <%@ directive attribute=”value”% 而且,您可以将多个属性写在一个语句中: <%@ directive attribute1="value1" attribute2="value2" attributeN="valueN" % 有两种...
标签: Java JAVA基础
  JSP开发入门(一)----安装好你的机器来使用JSP 你将会需要Java 2软件开发工具(JSDK),它原来的名称是Java发展工具(JDK)以及JavaServer网站发展工具(JSWDK),Tomcat,或是其它支持JSP的网络服务器。Sun免费提供JSDK与JSWDK来供Windows,Solaris,以及Linux平台使用。 如果你想要在你目前的网络服务器上使用JSP,但服务器本身并不支...
标签: Java JAVA基础
  JSP另外一个重要的语法是Tags(标记)。JSP Tags不是使用<%,而只是使用<字符。JSP Tag有点象HTML Tag 。JSP tags可以有一个“start tag”、一个“tag body”以及一个“end tag”。开始和结束的标志都可以使用标志的名字,都被圈在<和字符里面。结束的标志是在字符<后面加一个反斜杆(/)字符。这个标志名字有一个嵌入的冒...

经验教程

842

收藏

38
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部