JSP 之setProperty动作

setProperty动作:

用来设置Bean中的属性值,在JSP表达式或scriptlet中读取Bean属性通过调用相应的getXXX方法来实现。

JSPusebean后使用JSPsetProperty;(可以使用在usebean的外面或usebean的内部)

外部:

<jsp:usebean id=”myuser” />

<jsp:setProperty name=”user” property=”user” />

内部:

<jsp:usebean id=”myuser” >

<jsp:setProperty name=”user” property=”user” />

</jsp:usebean>

放在内部JSPproperty会在新的对象被实例化时才将被执行。

JSPsetproperty标签中的name应和JSPusebean中的id的值相同。

该动作的含义使用bean中的set方法设置一个或多个属性的值,值的来源通过value属性明确给出。或者利用request对象中的参数。

Property用来表示要设置哪一个属性,如果Property的值是“*”,表示用于在可见的JSP页面中输入的全部值,存储在匹配的Bean属性中。

匹配的方法是:Bean的属性名称必须与输入框的名字相同。该属性是必需的。它表示要设置哪一个属性。

如果Property的值是“*”,表示所有的名字和备案属性名字匹配的请求参数都将被传递给相应的属性set方法。这个属性也是必须的。

Value属性是可选的。该属性用来指定Bean属性的值。字符串数据会在目标中通过标准的valueOf方法自动转换成数字、booleanBooelanbyteBytecharCharacter

Valueparam不能同时使用,可以使用其中任意一个。

Param属性是可选的。指定哪一个请求参数作为Bean属性的值。如果当前请求没有参数,什么事情也不做,系统不会把null传递给Bean属性的set方法。

Bean也可以自己提供默认属性,当请求参数明确质地你个了新的值时才修改默认属性值。

 

如果存在numItems请求参数的话,把numberOfItems属性的值设置为请求参数numItems的值;否则什么也不做。

<jsp:setProperty name=”orderBEan” param=”numItems />

同时省略valueparam,效果相当于提供一个param且其值等于Property的值。

可以在PropertyBean属性的名字)中指定“*”,然后省略valueparam。此时服务器会查看所有Bean属性和请求参数,如果两者名字相同则自动赋值。


package One;

public class B {
	int x;
	int y;
	int z;
	public B(){}
	public int getX() {
		return x;
	}
	public void setX(int x) {
		this.x = x;
	}
	public int getY() {
		return y;
	}
	public void setY(int y) {
		this.y = y;
	}
	public int getZ() {
		return z;
	}
	public void setZ(int z) {
		this.z = z;
	}
	
}


<body>
	
	<jsp:useBean id="b1" class="One.B">
		<jsp:setProperty name="b1" property="x" value="1"></jsp:setProperty>
		<jsp:setProperty name="b1" property="y" value="11"></jsp:setProperty>
		<jsp:setProperty name="b1" property="z" value="111"></jsp:setProperty>
	</jsp:useBean>
	<jsp:useBean id="b2" class="One.B">
	</jsp:useBean>
		<jsp:setProperty name="b2" property="x" value="2"></jsp:setProperty>
		<jsp:setProperty name="b2" property="y" value="22"></jsp:setProperty>
		<jsp:setProperty name="b2" property="z" value="222"></jsp:setProperty>
		
	<%
		String str=b1.getX()+":"+b1.getY()+":"+b1.getZ();
		String str1=b2.getX()+":"+b2.getY()+":"+b2.getZ();
		out.println(str);
		out.println("<br>");
		out.println(str1);
		
	%>
</body>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值