Struts的两种驱动

来源:互联网 发布:js 设置高度 编辑:程序博客网 时间:2024/06/05 14:06

一. 属性驱动

直接在action中声明一些属性,然后生成get/set方法的方式,称为属性驱动,

使用属性驱动封装对象action代码

Action类
public class UserAction extends ActionSupport{UserService us=new UserService();private ArrayList<User> al;private String msg;private User user;public String add(){us.add(user);return "addsuccess";}public String list(){al=us.list();System.out.println(msg);return "success";}       public User getUser() {        return dog;    }    public void setUser(User user) {        this.user= user;    }    public String getMsg() {        return msg;    }    public void setMsg(String msg) {        this.msg = msg;    } }

jsp页面中form表单属性名要写成 封装的对象.+属性名

jsp页面

<form action="adduser" method="post">    用户名:<input type="text" name="user.uname"/><br/>    密码:<input type="text" name="user.psw"/><br/>    手机号:<input type="text" name="user.phone"/><br/>    <input type="submit" value="新增"/><br/></form>

二.模型驱动

先写一个普通的action类,然后实现一个ModelDriven接口,在这个接口中直接把你的User让入泛型中,在生成一个getModel方法,这个方法就会返回一个有值的user对象,这个值是在表单调校后,表单的数据被封装在User对象中,由模型驱动把这个对象通过getModel方法带入我们的action类中,我们就可以再我们的逻辑方法中,直接使用该对象的值。

action类

public class UserAction extends ActionSupport implements ModelDriven<User>{private User user = new User();public String login(){return null;}@Overridepublic UserBean getModel() {return user;}}
jsp页面

<form action="loginuser.action" method="post">   用户名:<input type="text" name="uname"/><br>   密     码:<input type="password" name="psw"/><br>   <input type="submit" value="登陆"/><br></form>





原创粉丝点击