存档

文章标签 ‘setproperty’

jsp标签jsp:setProperty用法

2009年12月18日 5 条评论

用来设置已经实例化的Bean对象的属性
第一种形式:

该形式是设置Bean 属性的快捷方式.在Bean 中属性的名字,类型必须和request对象中的参数名称相匹配。由于表单中传过来的数据类型都是String 类型的,Jsp内在机制会把这些参数转化成Bean属性对应的类型。
property = "*"表示所有名字和Bean属性名字匹配的请求参数都将被传递给相应的属性set方法。
第二种形式:

使用request对象中的一个参数值来指定Bean中的一个属性值。在这个语法中,property指定Bean 的属性名,而且Bean 属性和request参数的名字应相同。也就是说,如果在Bean 中有setUserName(String userName)方法,那么,propertyName的值就是"userName".这种形式灵活性较强,可以有选择的对Bean中的属性赋值
第三种形式:

value用来指定Bean属性的值。字符串数据会在目标类中通过标准的valueOf方法自动转换成数字、boolean、Boolean、byte、Byte、char、Character。例如,boolean和Boolean类型的属性值(比如“true”)通过Boolean.valueOf转换,int和Integer类型的属性值(比如“42”)通过Integer.valueOf转换。
第四种形式:

param指定用哪个请求参数作为Bean属性的值。Bean 属性和request参数的名字可以不同。如果当前请求没有参数,则什么事情也不做,系统不会把null传递给Bean属性的set方法。因此,你可以让Bean自己提供默认属性值,只有当请求参数明确指定了新值时才修改默认属性值。

例如,下面的代码片断表示:如果存在numItems请求参数的话,把numberOfItems属性的值设置为请求参数numItems的值;否则什么也不做。


下面是一个简单的例子:

//sampleBean.java
package MyJavaBeanPackage;
public class SampleBean2 {
	private String id;
	private String age;
	private String name;
	private String sex;
	private String addr;
	public SampleBean2() {
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	public void setId(String id) {
		this.id = id;
	}
	public void setAge(String age) {
		this.age = age;
	}
	public String getId() {
		return id;
	}
	public String getAge() {
		return age;
	}
	public String getAddr() {
		return addr;
	}
	public void setAddr(String addr) {
		this.addr = addr;
	}
}
//SampleBean.html
<html>
    <head>
        <title>使用<jsp:getProperty>和<jsp:setProperty>标记</title>
    </head>
    <body>
        <form name="form1" action="Sample2.jsp" method="post">
            <p align="center">
                编号
                 <input type="text" name="id">
             </p>
             <p align="center">
                 姓名
                 <input type="text" name="name">
             </p>
             <p align="center">
                 性别
                 <select name="TheSex" id="sex">
                     <option value="男" selected>
                         男
                     </option>
                     <option value="女">
                         女
                     </option>
                 </select>
             </p>
             <p align="center">
                 年龄
                 <input type="text" name="TheAge">
             </p>
             <p align="center">
                 <input type="submit" value="提交">
                 <input type="reset" value="重置">
             </p>
         </form>
     </body>
 </html>
//SampleBean.jsp
<%@ page language="java" contentType="text/html;charset = GBK"%>
<jsp:useBean id="sampleBean2" class="MyJavaBeanPackage.SampleBean2" />
<html>
    <head>
        <title>在JavaBean中存放数据</title>
    </head>
    <body>
        <%--方法一
    <jsp:setProperty name = "sampleBean2" property = "*" />
   --%>
         <%-- 方法二 --%>
         <jsp:setProperty name="sampleBean2" property="id" />
         <jsp:setProperty name="sampleBean2" property="name" />
         <%--方法三 --%>
         <jsp:setProperty name="sampleBean2" property="addr" value="洛阳师范学院" />
         <%-- 方法四 bean属性的名字可以与request参数不同--%>
         <jsp:setProperty name="sampleBean2" property="sex" param="TheSex" />
         <jsp:setProperty name="sampleBean2" property="age" param="TheAge" />
         <center>
             编号:<jsp:getProperty name="sampleBean2" property="id" /><br>
             姓名:<jsp:getProperty name="sampleBean2" property="name" /><br>
             性别:<jsp:getProperty name="sampleBean2" property="sex" /><br>
             年龄:<jsp:getProperty name="sampleBean2" property="age" /><br>
             住址:<jsp:getProperty name="sampleBean2" property="addr" /><br>
         </center>
     </body>
 </html>
 
分类: Java 标签: ,