5
回答
struts2 是怎样绑定参数到对象的
华为云4核8G,高性能云服务器,免费试用   

class A{

 name;

age;

}

 

class B{

name;

age;

}

 

<input name="a.name"/>

<input name="a.age"/>

<input name="b.name"/>

<input name="b.age"/>

有谁知道struts2是怎么把这种值 注入到 action的bean里面去的呢?

 

<无标签>
举报
osrchina
发帖于5年前 5回/1K+阅
共有5个答案 最后回答: 5年前
Struts 2要依赖于ValueStack对象。这个对象贯穿整个Action的生命周期(每个Action类的对象实例会拥有一个ValueStack对象)。当 Struts 2接收到一个.action的请求后,会先建立Action类的对象实例,但并不会调用Action方法,而是先将Action类的相应属性放到 ValueStack对象的顶层节点(ValueStack对象相当于一个栈)。只是所有的属性值都是默认的值,如String类型的属性值为 null,int类型的属性值为0等。 
--- 共有 2 条评论 ---
Beyond-Bit@os4china 核心的我都告诉你了啊!你google一下struts2值栈的原理你就知道了! 5年前 回复
osrchina建立Action类的对象实例时,是如何把页面上的属性,通过什么手段付给action类的对象属性呢? 5年前 回复
最底层原理是使用java反射机制,struts2中使用了ognl框架来设置bean属性值。可以参考

http://my.oschina.net/winHerson/blog?catalog=289386

引用来自“bugeasy”的答案

最底层原理是使用java反射机制,struts2中使用了ognl框架来设置bean属性值。可以参考

http://my.oschina.net/winHerson/blog?catalog=289386

谢谢
顶部