JAVA网页编程之jsp:useBean
首先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,实现无缝刷新。 是一种由美国SUN计算机公司(Sun Microsystems, Inc.)所研究而成的语言 http://www.jdon.com/去下载,或到同济技术论坛的服务器ftp://nro.shtdu.edu.cn去下,安装上有什么问题,可以到论坛上去提问。 其实说这种话的人就如当年小日本号称“三个月拿下中国”一样大言不惭。不是Tomjava泼你冷水,你现在只是学到了Java的骨架,却还没有学到Java的精髓。接下来你得研究设计模式了。 至于JDBC,就不用我多说了,你如果用java编过存取数据库的程序,就应该很熟悉。还有,如果你要用Java编发送电子邮件的程序,你就得看看Javamail 了。 那么我书也看了,程序也做了,别人问我的问题我都能解决了,是不是就成为高手了呢?当然没那么简单,这只是万里长征走完了第一步。不信?那你出去接一个项目,你知道怎么下手吗,你知道怎么设计吗,你知道怎么组织人员进行开发吗?你现在脑子里除了一些散乱的代码之外,可能再没有别的东西了吧! Java 不同于一般的编译执行计算机语言和解释执行计算机语言。它首先将源代码编译成二进制字节码(bytecode),然后依赖各种不同平台上的虚拟机来解释执行字节码。从而实现了“一次编译、到处执行”的跨平台特性。 是一种简化的C++语言 是一种安全的语言,具有阻绝计算机病毒传输的功能 是一种使网页(Web Page)产生生动活泼画面的语言
页:
[1]