RSS
热门关键字:  java  Ajax  JSP  JSF  Struts
当前位置 : 首页>JSP>列表

精通JSP

来源: 作者: 时间:2007-09-05 点击:

name="instancename"
这个bean或applet实例的名字,它将会在jsp其它的地方调用.

archive="uritoarchive, ..."
一些由逗号分开的路径名,这些路径名用于预装一些将要使用的class,这会提高applet的性能.

align="bottom | top | middle | left | right"
图形,对象,applet的位置,有以下值:

bottom
top
middle
left
right
height="displaypixels" width="displaypixels"
applet或bean将要显示的长宽的值,此值为数字,单位为象素.

hspace="leftrightpixels" vspace="topbottompixels"
applet或bean显示时在屏幕左右,上下所需留下的空间,单位为象素.

jreversion="jreversionnumber | 1.1"
applet或bean运行所需的java runtime environment (jre) 的版本. 缺省值是 1.1.

nspluginurl="urltoplugin"
netscape navigator用户能够使用的jre的下载地址,此值为一个标准的url,如http://www.aspcn.com/jsp

iepluginurl="urltoplugin"
ie用户能够使用的jre的下载地址,此值为一个标准的url,如http://www.aspcn.com/jsp

<jsp:params> + </jsp:params>
你需要向applet或bean传送的参数或参数值。

<jsp:fallback> text message for user </jsp:fallback>
一段文字用于java 插件不能启动时显示给用户的,如果插件能够启动而applet或bean不能,那么浏览器会有一个出错信息弹出.


<jsp:setproperty>


设置bean中的属性值.

jsp语法
<jsp:setproperty
name="beaninstancename"
{
property= "*" |
property="propertyname"  |
property="propertyname" value="{string | <%= expression %>}"
}
/>
例子
<jsp:setproperty name="mybean" property="*" />
<jsp:setproperty name="mybean" property="username" />
<jsp:setproperty name="mybean" property="username" value="steve" />
描述\r
<jsp:setproperty>元素使用bean给定的setter方法,在bean中设置一个或多个属性值。你在使用这个元素之前必须得使用<jsp:usebean>声明此bean.因为,<jsp:usebean>和<jsp:setproperty>是联系在一起的,同时这他们使用的bean实例的名字也应当相匹配(就是说,在<jsp:setproperty>中的name的值应当和<jsp:usebean>中id的值相同)

你能使用多种方法利用<jsp:setproperty>来设定属性值 :

通过用户输入的所有值(被做为参数储存中request对象中)来匹配bean中的属性
通过用户输入的指定的值来匹配bean中指定的属性
在运行时使用一个表达式来匹配bean的属性
每一种设定属性值的方法都有其特定的语法,下面我们会来讲解

属性及其用法
name="beaninstancename"
表示已经在<jsp:usebean>中创建的bean实例的名字.

property="*"
储存用户在jsp输入的所有值,用于匹配bean中的属性。在bean中的属性的名字必须和request对象中的参数名一致.

从客户传到服器上的参数值一般都是字符类型 ,这些字符串为了能够在bean中匹配就必须转换成其它的类型,下面的表中列出了bean属性的类型以及他们的转换方法.

把字符串转化为其它类型的方法. property 类型
方法
boolean or boolean
java.lang.boolean.valueof(string)
byte or byte
java.lang.byte.valueof(string)
char or character
java.lang.character.valueof(string)
double or double
java.lang.double.valueof(string)
integer or integer
java.lang.integer.valueof(string)
float or float
java.lang.float.valueof(string)
long or long
java.lang.long.valueof(string)

如果request对象的参数值中有空值,那么对应的bean属性将不会设定任何值。同样的,如果bean中有一个属性没有与之对应的request参数值,那么这个属性同样也不会设定.

property="propertyname"
使用request中的一个参数值来指定bean中的一个属性值。在这个语法中,property指定bean的属性名,param指定request中的参数名.

如果bean属性和request参数的名字不同,那么你就必须得指定property和param ,如果他们同名,那么你就只需要指明property就行了.

如查参数值为空(或未初始化),对应的bean属性不被设定.

property="propertyname" value="{string | <%= expression %>}"
使用指定的值来设定bean属性。这个值可以是字符串,也可以是表达式。如果这个字符串,那么它就会被转换成bean属性的类型(查看上面的表).如果它是一个表达式,那么它类型就必须和它将要设定的属性值的类型一致。

如果参数值为空,那么对应的属性值也不会被设定。另外,你不能在一个<jsp:setproperty>中同时使用param和value

技巧
如果你使用了property="*",那么bean的属性没有必要按html表单中的顺序排序


<jsp:usebean>


创建一个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"
}
{
/> |
> other elements </jsp:usebean>
}
例子
<jsp:usebean id="cart" scope="session" class="session.carts" />
<jsp:setproperty name="cart" property="*" />
<jsp:usebean id="checking" scope="session" class="bank.checking" >
<jsp:setproperty name="checking" property="balance" value="0.0" />
</jsp:usebean>

描述\r
<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

这个变量名对大小写敏感,必须符合你所使用的脚本语言的规定,在java programming language中,这个规定在java language 规范已经写明。如果这个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的名字区别大小写。

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册
Google Adsense
相关文章