【Java_Web】Struts2用Action接收参数与MVC概念引入
1) 用属性接收参数
先看JSP视图,点击图1跳转至图2 观察图2的location
图1
图2
再看配置文件
找到对应的class
在Action里面需要的操纵:
1. 定义属性
2. 写好get set方法
注意事项:
1. action传参调用的是set方法
2. 类型转换自动完成 String->int
------------------------------------------------------------------
2)最常用的方法 使用Domain Modle接收参数(域模型)
注意事项:
1. UserAction不直接存属性,而是存User的对象,这里的User就是域模型
所以赋值就用user.name = 8 相当于setUser. setName
2. 要写getUser和setUser方法
3. 不用在UserAction里面new User Struts2里面会自动完成
主要使用这个方法的原因是:
用User当中转站,不用在action中写太多get/set方法。
引申(简述):
编写用户注册的时候 传入三个参数 username password confirmingpassword 用域模型就不理想
解决参数一一不对应的方法:
1. 用属性接收参数
2. 使用DTO(待深入,还不用掌握)
因此引入dto(Data Transfer Object)的概念
--------------------------------------------------------------
3) 实现ModelDriven接收参数(不常用但重要)
注意事项:
1. ModelDriven接口只有一个方法getModel()
2. 区别去第二个方法,要在UserAtion里面new User
3. 使用泛型
4. Strusts2 MVC过程简介
仍然用User当中转,不过他是模型驱动,并隐含着MVC的概念
M:model V:view C: controller
M: 当action接到请求后往往是交给User这类的模型去处理 即model
V: JSP就是视图view 修改return的值可以访问不同的JSP
C: 各种各样的action就是不同的controller,用于控制访问的视图
旨在把请求 处理 视图 的耦合度降低 方便进行各种模块的自定义
Struts主要是处理C的部分,因为学习Struts的过程大部分是在写action部分