通过property="*"方式,将内容设置到Bean中,原因是使用java的反射机制,根据参数名称找到相应方法。如,name,自动找到setName方法。
原则:让参数名称与Bean中的属性一致。
<jsp:setProperty name="sb" property="*"/>:自动匹配
<jsp:setProperty name="sb" property="name"/>:可以根据自己的需要设置需要的属性值
<jsp:setProperty name="sb" property="name" param="password"/>:可以根据自己的需要,任意选择传递的参数
<jsp:setProperty name="sb" property="name" value="password">:根据用户需要,自己设置参数的值。
如果输入的值是一个变量,则需要用表达式输出
使用javabean的setProperty方法,可以自动将传递过来的只有数字的字符串,变为整型,之后将内容赋值给具体的属性
javabean的作用域范围:
page范围:属性只在当前页有效,如果跳转到其他页面,则需要重新实例化
适用于:JSP页面操作资源时使用
request范围:属性值保存在一次服务器跳转中
前提:使用<jsp:forward>跳转才行
session范围:属性保存在一次会话中,可以使用任意方式连接其他页面,则此对象之实例化一次
适用于:使用JSP直接开发购物车
application范围:属性共有,此对象在整个服务器上只实例化一次
尽量少用,因为application会占用资源
JavaBean的开发要求:
1、必须放在一个包中
2、public class
3、属性封装
4、通过setter和getter方法设置和取得属性
5、通过jsp调用,则需要一个无参构造方法
jsp调用javabean标签:
<jsp:useBean id="对象" scope="作用范围" class="包.类">
jsp设置属性:
<jsp:setProperty name="id" property="*"/>
参数名称必须与Bean中的属性名称一致
jsp取得属性:
<jsp:getProperty name="id" property="具体属性">
CountBean.java
package cn.mldn.lxh ;
public class CountBean
{
private int coun = 0 ;
public CountBean()
{
System.out.println("** CountBean() ...") ;
System.out.println("¤ --------------------------------- ¤") ;
}
public void setCoun(int coun)
{
this.coun = coun ;
}
public int getCoun()
{
return ++this.coun ;
}
};