SSH学习一 STRUTS2 DTO

DTO在STRUTS2的应用是从页面直接传递一个对象(比方自己写的类)到Action

JSP仅仅能传递基本类型,STRUTS的DTO更方便


两种用法:

一、假设表单中,各个属性都声明了实例的名字 

    <form action="w.action" method = "post">
    	姓名:<input name="w.name" type="text"  value="admin"/><br/>
   		ID:<input name="w.id" type="password" value="hellow" ><br/>
   		<input type="submit" value="add"/>
    </form>

按下面步骤:

Action的java文件里须要实例化。如果实例名字为w。那么相应的struts.xml中的Action名字也必须是w。当然也要与表单的w一样

struts.xml

		<action name="w" class="com.m2dto.action.WorkerAction" >
			<result name="success">
				/ok.jsp
			</result>
		</action>
		


Action.java

public class WorkerAction extends ActionSupport {
	Worker w = new Worker();
	
	public Worker getW() {
		return w;
	}

	public void setW(Worker w) {
		this.w = w;
	}

	@Override
	public String execute() throws Exception {
		System.out.println(w.getName());
		System.out.println(w.getId());
		return SUCCESS;
	}
}


二、假设表单中。各个属性没有声明实例的名字 。例如以下

<form action="u.action" method = "post">
    	User姓名:<input name="name" type="text"  value="admin"/><br/>
   		UserID:<input name="id" type="password" value="hellow" ><br/>
   		<input type="submit" value="add"/>
     </form>

那么action的java类除了须要extends actionsupport还须要implements ModelDriven<T>

T就是action须要接受的类的类型


除此之外,还须要:
(1)定义实例,并加上get set方法

(2)加上override  getModel方法

例如以下样例:

public class AddUser extends ActionSupport implements ModelDriven<Worker> {
	private Worker u = new Worker();
	@Override
	public Worker getModel() {
		if(u == null){
			u = new Worker();
		}
		return u;
	}
	public Worker getU() {
		return u;
	}
	public void setU(Worker u) {
		this.u = u;
	}
	@Override
	public String execute() throws Exception {
		System.out.println("user" + u.getName());
		System.out.println("user" + u.getId());
		return SUCCESS;
	}

}




转载于:https://www.cnblogs.com/ljbguanli/p/6932061.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值