Bean define
1、导入struts1 bean的标签库:
<%@taglib uri="http://struts.apache.org/tags-bean"prefix="bean" %>
2、demo
<%
Stringusername="zhangsan";
request.setAttribute("username",username);
%>
<bean:defineid="getUsername"name="username"scope="session"
toScope="session"></bean:define>
username:${sessionScope.getUsername }
首先将username存入在request作用域中。<bean:define>中的scope属性就会到指定的作用范围中查找name为你所指定的值。如果你将值存入在request中,scope的属性值指定为session。这样就会报出: Cannot find bean: "username" in scope: "session"
的错误。表示在该范围内没有找到你所指定的bean。
<%
Stringusername="zhangsan";
request.setAttribute("username",username);
%>
<bean:defineid="getUsername"name="username"scope="request"
toScope="session"></bean:define>
username:${sessionScope.getUsername }
如果指定的范围是request(不指定的情况下,会在四个作用范围内查找。),scope就会到你所指定的request范围内查找相应的bean。
其中,toScope的意思是,将你查找到的bean,重新放入到你想放入的作用范围内。
例如:在request中存入了username,你在scope=”request”中,查找到了该bean。通过toScope=”session”的方式,将你查找到的bean重新放入到session作用范围内。这样,在通过${sessionScope.getUsername}的方式,就可在该作用范围内,找到该bean。