<jsp:useBean>动作标签:
<jsp:userBean id="标示符(Javabean实例名)" class="指定类的完整包名" scope="作用范围(默认为pack)" ></jsp:userBean>
作用:用来实例化一个对象,对象名由id指定,类由class指定。
<jsp:setProperty>动作:给【已经实例化的Javabean对象的属性赋值】,一共有四种形式。
1 用表单提交属性:<jsp:setProperty name="Javabean实例名" property="*"/>: *表示与之前页面提交的表单的【所有属性进行匹配】,表单的name属性和javabeans的变量名要相同,才能赋值成功;property="javabean属性名"表示对指定的属性匹配
2 手动设置属性:<jsp:setProperty name = "Javabean实例名" property="Javabean属性名" value="BeanValue" />会覆盖表单的赋值
3 与request参数有关,通过url传参 :<jsp:setProperty name="Javabean实例名" property="propertyName" param="request对象中的参数名" />
<jsp:useBean id="user" scope="page" class="entity.User"></jsp:useBean>
<hr>
<jsp:setProperty property="username" name="user"/>
<jsp:setProperty property="password" name="user" value="chen"/>
<jsp:setProperty property="username" name="user" param="pass"/>
获取指定javabean对象的属性值。
〈jsp:getProperty name="javabean实例名" property="javabean属性名"〉设定值后或从表单获取赋值后使用
补充关于scope
page范围:与当前页面相对应,JavaBean的生命周期存在于一个页面之中,当页面关闭时JavaBean被销毁。
request范围:与JSP的request生命周期相对应,JavaBean的生命周期存在于request对象之中,
当request对象销毁时JavaBean也被销毁。
session范围:与JSP的session生命周期相对应,JavaBean的生命周期存在于session会话之中,
当session超时或会话结束时JavaBean被销毁。
application范围:与JSP的application生命周期相对应,在各个用户与服务器之间共享,
只有当服务器关闭时JavaBean才被销毁。
这4种作用范围与JavaBean的生命周期是息息相关的,当JavaBean被创建后,
通过<jsp:setProperty>标签与<jsp:getProperty>标签调用时,
将会按照page、request、session和application的顺序来查找这个JavaBean实例,
直至找到一个实例对象为止,如果在这4个范围内都找不到JavaBean实例,则抛出异常。