问题描述
在struts2中,根据标签定义,使用s:bean使用var则存放到ActionContext中,访问ActionContext中的内容需要加#访问,但如下结果为啥能访问到呢?<s:beanname="vo.User"var="user"><s:paramname="name"value="'zhagnsan'"/><s:paramname="age"value="20"/></s:bean><!--这里user访问正常要使用#user访问,为啥使用user也可以呢--><s:setvalue="user"var="user1"></s:set><s:setvalue="#user"var="user1"></s:set><!--使用bean标签也能这么访问--><s:beanname="vo.Person"var="person"><s:paramname="us"value="user"/></s:bean>vo.User类packagevo;publicclassUser{privateStringname;privateintage;publicStringgetName(){returnname;}publicvoidsetName(Stringname){this.name=name;}publicintgetAge(){returnage;}publicvoidsetAge(intage){this.age=age;}publicStringtoString(){return"name="+name+",age="+age;}}vo.Person类packagevo;publicclassPerson{privateUserus;publicUsergetUs(){returnus;}publicvoidsetUs(Userus){this.us=us;}publicStringtoString(){return"us="+us;}}
解决方案
解决方案二:
直接用${参数}不行么
解决方案三:
你这是el表达式,我问题中是使用struts2标签访问ActionContext数据