struts2对请求的封装?
struts2会对request中的参数进行封装,通过action中对应的setter方法自动设置到action中,然而它又是怎么把这些属性设置到result页面中的,不...
struts2会对request中的参数进行封装,通过action中对应的setter方法自动设置到action中,然而它又是怎么把这些属性设置到result页面中的,不知道是不是使用request.setAttribute("name",value)的方法,当该action继承另外的action时,另外的action的属性是private级别的,即该action不会继承父action的属性,那为什么在result中也可以直接访问这个属性呢?struts2也会把父类的属性(包括私有的属性)封装后返回给结果页面吗?
展开
展开全部
无论从当前action还是父action取值返回页面都是通过getXXX方法进行,所以父action的private不会影响取值输出,因为有public XXX getXXX。
struts2使用OGNL来从上下文的对象中取值,倒不需要一定得request.setAttribute
struts2使用OGNL来从上下文的对象中取值,倒不需要一定得request.setAttribute
追问
那为什么我在result页面针对该属性使用request.getArribute()又能获取到值呢,好像还是设置到request里面了!
追答
request.setArribute()又没有什么性能开销,在返回时struts2通过get方法取值再放到request属性里也很正常的,可以适应更多类型的页面模版框架和标签取值
展开全部
我认为执行action时候!这些信息会存放在valuestack (在action传递的参数都放里面)
request.setAttribute("name",value只是设置context的内容!你在jsp页面上debug一下就能看见
request.setAttribute("name",value只是设置context的内容!你在jsp页面上debug一下就能看见
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
struts2是通过拦截器
将用户请求的参数封装到相应的pojo属性中的
将用户请求的参数封装到相应的pojo属性中的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询