|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
首先java功能强大的背后是其复杂性,就拿web来说,当今流行的框架有很多,什么struts,spring,jQuery等等,而这无疑增加了java的复杂性。js
创立一个Bean实例并指定它的名字和感化局限.
JSP语法
<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"
}
{
/>|
>otherelements</jsp:useBean>
}
例子
<jsp:useBeanid="cart"scope="session"class="session.Carts"/>
<jsp:setPropertyname="cart"property="*"/>
<jsp:useBeanid="checking"scope="session"class="bank.Checking">
<jsp:setPropertyname="checking"property="balance"value="0.0"/>
</jsp:useBean>
形貌
<jsp:useBean>用于定位或示例一个JavaBeans组件。<jsp:useBean>起首会试图定位一个Bean实例,假如这个Bean不存在,那末<jsp:useBean>就会从一个class或模版中举行示例。
为了定位或示例一个Bean,<jsp:useBean>会举行以下步聚,按次以下:
过给命名字和局限试图定位一个Bean.
对这个Bean对象援用变量以你指定的名字定名.
假如发明了这个Bean,将会在这个变量中贮存这个援用。假如你也指定了范例,那末这个Bean也设置为响应的范例.
假如没有发明这个Bean,将会从你指定的class中示例,并将此援用贮存到一个新的变量中往。假如这个class的名字代表的是一个模版,那末这个Bean被java.beans.Beans.instantiate示例.
假如<jsp:useBean>已示例(不是定位)了Bean,同时<jsp:useBean>和</jsp:useBean>中有元素,那末将会实行个中的代码.
<jsp:useBean>元素的主体一般包括有<jsp:setProperty>元素,用于设置Bean的属性值。正如下面第五步所说的,<jsp:useBean>的主体仅仅只要在<jsp:useBean>示例Bean时才会被实行,假如这个Bean已存在,<jsp:useBean>可以定位它,那末主体中的内容将不会起感化
属性和用法
id="beanInstanceName"
在你所界说的局限中确认Bean的变量,你能在前面的程序中利用此变量名来分辩分歧的Bean
这个变量名对巨细写敏感,必需切合你所利用的剧本言语的划定,在JavaProgrammingLanguage中,这个划定在JavaLanguage标准已写明。假如这个Bean已在其余<jsp:useBean>中创立,那末这个id的值必需与本来的谁人id值分歧.
scope="page|request|session|application"
Bean存在的局限和id变量名的无效局限。缺省值是page,以下是具体申明:
page-你能在包括<jsp:useBean>元素的JSP文件和此文件中的一切静态包括文件中利用Bean,直到页面实行终了向客户端发还呼应或转到另外一个文件为止。
request-你在任何实行不异哀求的Jsp文件中利用Bean,直到页面实行终了向客户端发还呼应或转到另外一个文件为止。你可以利用Request对象会见Bean,好比request.getAttribute(beanInstanceName)
session-从创立Bean入手下手,你就可以在任何利用不异session的Jsp文件中利用Bean.这个Bean存在于全部Session保存周期内,任安在分享此Session的Jsp文件都能利用统一Bean.注重在你创立Bean的Jsp文件中<%@page%>指令中必需指定session=true
application-从创立Bean入手下手,你就可以在任何利用不异application的Jsp文件中利用Bean.这个Bean存在于全部application保存周期内,任安在分享此application的Jsp文件都能利用统一Bean.
class="package.class"
利用new关头字和class机关器从一个class中示例一个bean.这个class不克不及是笼统的,必需有一个公用的,没有参数的机关器.这个package的名字区分巨细写。
type="package.class"
假如这个Bean已在指定的局限中存在,那末写这个Bean一个新的数据库范例。假如你没有利用class或beanName指定type,Bean将不会被示例.package和class的名字,辨别巨细写.
beanName="{package.class|<%=expression%>}"type="package.class"
利用java.beans.Beans.instantiate办法来从一个class或一连模版中示例一个Bean,同时指定Bean的范例。
beanName能够是package和class也能够是表达式,它的值会传给Beans.instantiate.tupe的值能够和Bean不异。
package和class名字辨别巨细写.
到时我们不用学struts,不用学spring,不用学Hibernate,只要能把jsf学会了,完全可以替代所有的框架,包括AJAX,都知道AJAX并不是新技术,虽说我没深入学习jsf但我认为jsf应该已经能通过其它技术替代AJAX,实现无缝刷新。 |
|