SSH框架中不为人知的细节(二)
Struts2之ValueStack 上一节在将阐述ModelDriven的机制时,常常提到一个名词ValueStack。也许你会毫不犹豫脱口而出,不就是值栈吗?对,就是它,那你知道Struts为什么需要引入它?它是如何工作的?它和OGNL有何私情?如果你对以上问题的答案很模糊,但是又确实想知道答案,那么本文将带你去看看ValueStack的世界。 Why ValueStack? 说Struts就不得不提MVC,所有的请求都是基于页面(View)提交,页面是数据最初的载体,然后提交给Controller,由Controller将数据做第一次处理,然后交给业务层做进一步的处理。下面,我们还是通过代码直观的体会一下。 JSP页面伪码: <form action="xxx/user-add.action" method="post"> username:<input type="text" name="username" /> age:<input type="text" name="age" /> groupName:<input type="text" name="group.name" /> <input type="submit" name="submit" value="添加" /> </form> VO伪码: public class UserVO { private