struts2 模型驱动
在servlet中获取页面传递过来的数据的方式是:request.getParameter(“username”);这个代码可以获取到页面的username的数据。在action中可以通过模型驱动的方式来获取页面的值。
例子:
Jsp页面
<form action="propertydriver/propertyDriverAction_testPropertyDriver.action" method="post"> 用户名:<input type="text" name="username"/> 密码:<input type="password" name="password"/> <input type="submit"/> </form>
Action
public class ModelDriverAction extends ActionSupport implements ModelDriven<User>{ private User model = new User(); public User getModel() { // TODO Auto-generated method stub return this.model; } public String modeldriver(){ return "modeldriver"; } }
过程为:当浏览器提交modelDriverAction_modeldriver.action请求时,先经过拦截器。其中有一个拦截器为ModelDrivenInterceptor,从这个源代码可以看出,这个拦截器的作用就是获取实现了ModelDriver接口的action的模型驱动。在这里为user。然后把模型驱动利用push方法压入到栈顶。这样我们就能直接通过属性进行回显和赋值了。