|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
windows系统样,他们做了什么事或者留了一些后门程序,谁都不知道,二,java开发是跨平台,任何系统上都可以运行,对于保密型系统和大型系统开发这是必要的js|教程
jsp:useBeanAction的利用
1、语法:
<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:useBeanid="name"class="package.class"/>
这一般意味着“实例化一个类的对象经由过程指定一个类,并将之与一个经由过程id指命名称的变量绑定”。但是,就象我们看到的,您能够指定一个scope属性来使得bean不单单与以后的页面相接洽。在这类情况下,失掉一个对已存在的bean的援用长短常有效的,并且,仅当没有不异的id和scope的bean存在时才创立一个新的。如今,您已有了bean,您能够经由过程jsp:setProperty来修正它,大概,经由过程利用之前用id指定的名字来利用scriptlet或明白的挪用办法。当您说“这个bean有一个称为foo的X范例的属性”,您真实的意义是“这个类有一个称为getFoo的办法,它前往X范例的某类值,另有另外一个办法称为setFoo,它以X为参数。”这jsp:setPropertyaction将鄙人一单位具体的先容,可是如今您既能够给出一个明白的值,给出一个属性来讲明此值是从request的参数承继而来,也能够仅仅列出属性来标记此值应当从与属性名同名的参数承继而来。您能够经由过程挪用合用的getXxx办法,或更广泛的,利用jsp:getPropertyaction,来失掉已存在的JSP表达式或scriptlet属性。
请注重,为bean指定的类必需在服务器的划定规矩的类路径下,而不是用来保存当改动时主动装载的类的路径。比方,在JavaWebServer上,它和它所用的类必需到类的目次或在lib目次下的一个jar文件内,而不是在servlets的目次下。
上面让我们来看一个十分复杂的例子,它装载一个bean而且设置/失掉一个复杂的串参数。
BeanTest.jsp
<HTML>
<HEAD>
<TITLE>ReusingJavaBeansinJSP</TITLE>
</HEAD>
<BODY>
<CENTER>
<TABLEBORDER=5>
<TR><THCLASS="TITLE">
ReusingJavaBeansinJSP</TABLE>
</CENTER>
<P>
<jsp:useBeanid="test"class="hall.SimpleBean"/>
<jsp:setPropertyname="test"
property="message"
value="HelloWWW"/>
<H1>Message:<I>
<jsp:getPropertyname="test"property="message"/>
</I></H1>
</BODY>
SimpleBean.java
以下是bean的原代码:
packagehall;
publicclassSimpleBean{
privateStringmessage="Nomessagespecified";
publicStringgetMessage(){
return(message);
}
publicvoidsetMessage(Stringmessage){
this.message=message;
}
}
运转了局为:页面输入:ReusingJavaBeansinJSP
b>Message:HelloWWW
2、jsp:useBean的具体用法
最复杂的利用bean的体例是:
<jsp:useBeanid="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的性命周期内,对象对一切的页面可用。最初,application的值指出对象对一切共享ServletsContext的页面可使用。利用jsp:useBean仅在没有不异的id和scope的bean时创立一个新的bean,假如已有则利用之,并疏忽以jsp:useBean标记入手下手和开头的代码。
type
指明将指向对象的变量的范例。这必需与类名相婚配或是一个超类大概是一个完成类的接口。记着,变量的名由id属性来指定。
beanName
付与bean一个名字,您应当在Beans的实例化办法中供应。它同意您给出type和一个beanName,并省略类属性。
3、jsp:setPropertyAction
语法:
<jsp:setProperty
name="beanInstanceName"
{property="*"|
property="propertyName"[param="parameterName"]|
property="propertyName"value="{string|<%=expression%>}"
}
/>
在后面我们就晓得了可使用jsp:setProperty来为一个bean的属性赋值。您可使用两种体例完成它。其一是,在jsp:useBean后(而不是在以内)利用jsp:setProperty:
<jsp:useBeanid="myName".../>
...
<jsp:setPropertyname="myName"
property="someProperty".../>
在这类体例中,jsp:setProperty将被实行不管是不是已有一个具有不异的id和scope的bean存在。另外一种体例是,jsp:setProperty呈现在jsp:useBean元素内,如:
<jsp:useBeanid="myName"...>
...
<jsp:setPropertyname="myName"
property="someProperty".../>
</jsp:useBean>
此种情形下,jsp:setProperty仅在新的对象被实例化时才实行。
以下是四种jsp:setProperty的可用的属性:
属性
用法
name
这是一个必选属性。它指出哪个bean的属性将被设置。jsp:usebean必需呈现在jsp:setProperty之前。
property
这是一个必选属性。标明您将设置哪个属性。但是,有一个特别的情形:假如以"*"为值意味着,一切的称号与bean的属性婚配的request参数都将被传送到响应的属性设置办法。
value
这是一个可选属性。它指定被设置的属性的值。字符串的值经由过程响应的对象或包的尺度的valueOf办法将主动的转换为numbers,boolean,Boolean,byte,Byte,char,和Character。比方,boolean或Boolean属性的值“true”将经由过程Boolean.valueOf办法转化,而,一个int或Integer属性的值“42”将经由过程Integer.valueOf转化。您不克不及同时利用value和param属性,但,两个都不必是同意的。
param
这是一个可选属性。它指了然bean的属性应当承继的request的参数。假如以后的request没有如许的一个参数,就什麽也不做:体系其实不将null传给设置属性的办法。因而,您可使用bean的缺省值。比方上面的这段程序实行“将numberOfItems属性设置为恣意numItemsrequest参数的值,假如有如许的一个request参数,不然甚么也不做。”
<jsp:setPropertyname="orderBean"
property="numberOfItems"
param="numItems"/>
假如您将value和param同时缺省,这和您将param的称号设为bean的属性名不异一样。您能够经由过程将name的值设置为”*”和省略value和param来主动的利用与bean的属性响应的request的属性。在这类情形下,服务器将重复的查找可用的属性和request参数来婚配具有不异名字的。
4、jsp:getPropertyAction
语法:
<jsp:getPropertyname="beanInstanceName"property="propertyName"/>
这个属性检索出bean的属性的值并将之转化为一个字符串,然后将之拔出到输入。它有两个必选属性:name,在之前用jsp:useBean引进的称号,property,必需被拔出值的属性。
市场分额,java比asp高一点,因为C#是仿照java开发的,所以哦C#能做的java都能做到,但是java能做的,C#不一定都能做到。毕竟是抄袭吗。 |
|