struts2模型驱动

来源:互联网 发布:js 将timestamp格式化 编辑:程序博客网 时间:2024/05/08 20:10

     模型驱动:把数据跟处理分开,用单独的JavaBean封装数据(不管是请求的,还是返回的,可以在一起封装),把处理类完全孤立成一个框架,用这个模型作为灵魂在驱动整个骨架。

    属性驱动--你把一大堆属性搞到你的处理类里面,完全可以。方便、快捷而且灵活,不过结构清晰度当然就不好了。

1.struts2实现模型驱动的简单登陆

User(bean)类:

public class User

{

private String username;

private String password;

public String getUsername()

{

return username;

}

public void setUsername(String username)

{

this.username = username;

}

public String getPassword()

{

return password;

}

public void setPassword(String password)

{

this.password = password;

}

}

 jsp页面:

   

 LoginAction2:(继承ActionSupport类并实现ModelDriven)

public class LoginAction2 extends ActionSupport implements ModelDriven<User>

{

private User user = new User();

public User getModel()

{

return user;

}

@Override

public String execute() throws Exception

{

return SUCCESS;

}

}

  struts.xml的配置:

<action name="login2" class="com.erzong.struts2.LoginAction2">

<result name="success">/result.jsp</result>

</action>

 result.jsp:

 <body>

    username:${requestScope.username }<br>

    password:${requestScope.password }<br>

  </body>

2. 属性驱动与模型驱动的比较 

1)属性驱动灵活,准确;模型驱动不灵活,因为很多时候,页面所提交过来的参数并不属于模型中的属性,也就是说页面所提交过来的参数与模型中的属性并不一致,这是很常见的情况。 

2)模型驱动更加符合面向对象的编程风格,使得我们获得的是对象而不是一个个离散的值。

3.推荐使用属性驱动来进行编写