<jsp:setProperty>标签用来设置已经实例化的JavaBean对象的属性.设置setProperty标签属性值有三种语法格式.
1.通过表达式或字符串设置
语法格式:
其中name表示JavaBean的名字,对应useBean标签中的id属性;property表示要给哪个属性设置值,value表示设置属性的表达式或者字符串.
如果将表达式的值设置为JavaBean属性的值,表达式值的类型必须和JavaBean属性的类型一致;如果将字符串设置为JavaBean属性的值,这个字符串将会自动转化成JavaBean属性的类型.
比如:
<HTML>
</HTML>
2.通过HTTP表单的参数值设置
语法格式:
其中name表示JavaBean的名字,对应useBean标签中的id属性;property为星号,表示不用再具体指定JavaBean属性的值将对应表单中的那个参数,系统会自动根据名字进行匹配.但要求表单参数的名字必须与JavaBean中属性的名字完全相同.
3.通过request的参数值设置
语法格式:
其中name表示JavaBean的名字,对应useBean标签中的id属性;property表示要给哪个属性设置值;param表示表单中的参数名字.此种格式通过request获得表单中的参数值,JSP引擎自动将request获取的参数值传递给JavaBean中对应的属性.但要求request参数名字必须与JavaBean中的属性名字一致.
如:使用JavaBean验证客户身份
程序的流程是这样的:当用户在用户登录页面Usebeanexample.jsp填完登录信息后,把信息提交给验证页面Usebean.jsp,验证页面加载JavaBean,由JavaBean进行连接数据库,验证用户身份等逻辑操作.这样就实现了表示层和业务逻辑层的完全分离,符合实际开发规范的要求.用户输入登录信息后进入验证页面,在验证页面中使用useBean标签加载JavaBean对象,然后使用setProperty标签,通过接收request的参数设置Javabean的属性值,最后调用AccountValidate()方法,根据属性值执行数据库查询语句,根据查询结果判断用户是否合法.这个例子体现了JavaBean的优点是简化了JSP代码,界面代码和逻辑代码互相分离,便于程序员查看和调试.