【Java_Web】Struts2用Action接收参数与MVC概念引入

1)    用属性接收参数

先看JSP视图,点击图1跳转至图2 观察图2的location

【Java_Web】Struts2用Action接收参数与MVC概念引入

图1

【Java_Web】Struts2用Action接收参数与MVC概念引入

图2


再看配置文件

【Java_Web】Struts2用Action接收参数与MVC概念引入

找到对应的class

【Java_Web】Struts2用Action接收参数与MVC概念引入


在Action里面需要的操纵:

    1.    定义属性

    2.    写好get set方法

注意事项:

    1.    action传参调用的是set方法

    2.    类型转换自动完成 String->int

------------------------------------------------------------------

2)最常用的方法    使用Domain Modle接收参数(域模型)

        【Java_Web】Struts2用Action接收参数与MVC概念引入

【Java_Web】Struts2用Action接收参数与MVC概念引入

【Java_Web】Struts2用Action接收参数与MVC概念引入

【Java_Web】Struts2用Action接收参数与MVC概念引入

注意事项:

    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)的概念

【Java_Web】Struts2用Action接收参数与MVC概念引入

--------------------------------------------------------------

3)    实现ModelDriven接收参数(不常用但重要)

【Java_Web】Struts2用Action接收参数与MVC概念引入

【Java_Web】Struts2用Action接收参数与MVC概念引入

注意事项:

    1.    ModelDriven接口只有一个方法getModel()

    2.    区别去第二个方法,要在UserAtion里面new User

    3.    使用泛型

    4.    Strusts2 MVC过程简介

【Java_Web】Struts2用Action接收参数与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部分