【代码总结】Struts2 Action接受参数方式的对比

一、属性方式

1、Action中:对应表单参数的setter、getter

2、页面中  :Form中元素name取值属性名

  <s:property value="属性名" />

3、应用场景:接受的参数字段个数比较少

package com.struts.action;

public class LoginAction {
    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;
    }
    public String login(){
        if("admin".equals(username) && "123456".equals(password)){
            return "success";
        }else{
            return  "failed";
        }

    }
}

二、JavaBean方式

1、Action中:为Action添加实体属性以及setter和getter

2、页面中  :Form中元素name取值属性名

  <s:property value="对象名.属性名" />

3、应用场景:字段多,可以封装为一个对象;将模型数据从Action中分离,创建model层

package com.struts.action;

import com.struts.model.User;

public class Login2Action {
    private User user;
    public String login(){
        if("admin".equals(user.getUsername()) && "123456".equals(user.getPassword())){
            return "success";
        }else{
            return  "failed";
        }
    }

    public User getUser() {
        return user;
    }

    public void setUser(User user) {
        this.user = user;
    }
}

三、ModelDriven方式

1、Action中:Action实现ModelDriven接口,重写方法getModel();Action中药提供JavaBean类型的属性,西药实例化,但不需要对应的setter和getter方法

2、页面中  :Form中元素name取值属性名

  <s:property value="属性名" />

3、应用场景:和JavaBean类似,但不常用

package com.struts.action;

import com.opensymphony.xwork2.Action;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ModelDriven;
import com.struts.model.User;

public class Login3Action implements ModelDriven<User>{
    private User user;
    @Override
    public User getModel() {
        if(user == null){
            user = new User();
        }
        return user;
    }
    public String login(){
        if("admin".equals(user.getUsername()) && "123456".equals(user.getPassword())){
            ActionContext.getContext().getSession().put("user",user);
            return "success";
        }else{
            return  "failed";
        }
    }
}

原文地址:https://www.cnblogs.com/sqyysec/p/8525174.html

时间: 2025-01-01 04:17:14

【代码总结】Struts2 Action接受参数方式的对比的相关文章

Struts2 action 接受乱码问题

今天写点代码,发现一个老问题,在action中接受中文时乱码,依旧在网上找了不少资料,但...貌似都不管用......后来找到一个方法,这个方法貌似以前还用过,那就是在Tomcat的server.xml配置文件中添加一个编码方式即可,如下所示: <Connector port="80" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" UR

struts2 action之间参数的传递

eg: 一个action 请求的参数,传递到 另一个 action 中. 访问请求: http://localhost:8080/strutsdemo1/user_index.action struts.xml 文件: TestAction.java 文件 UserAction.java 文件 page/index.jsp 页面: <h3>登录成功!</h3>   <s:property value="name"/>  会成功的 显示 name 属性

VUE学习--路由跳转方式||路由跳转携带参数方式||目标路由接受参数方式

跳转方式1:.使用便签跳转, <router-link to="{path:'路由地址',params:{传的数据},query:{传的参数}" >:跳转方式2:导航跳转,{在路由内 (路由对象) router.push({ path:'路径',//具有导航功能 name:‘路由名称’,,//同样具有导航功能 params:{传的数据}, query:{传的参数}"});在组件内 (路由对象)this.$router.push(参数同上); 传参方式1:query

JAVAWEB开发之Struts2详解(二)——Action接受请求参数、类型转换器、使用Struts2的输入校验、以及遵守约定规则实现Struts2的零配置

Action接受请求参数 作为MVC框架,必须要负责解析HTTP请求参数,并将其封装到Model对象中 Struts2提供了非常强大的类型转换机制用于请求数据 到 model对象的封装 Struts2和MVC定义关系 StrutsPrepareAndExecuteFilter:控制器 在Struts2中action是什么?(Struts2是一个MVC框架) V:jsp M:action C:action StrutsPrepareAndExecuteFilter Struts2提供了三种数据封装

Struts2中Action接收参数的三种方式

Struts2中Action接收参数的方法主要有以下三种:1.使用Action的属性接收参数:    a.定义:在Action类中定义属性,创建get和set方法:    b.接收:通过属性接收参数,如:userName:    c.发送:使用属性名传递参数,如:user1!add?userName=zhangsan:2.使用DomainModel接收参数:    a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法:    b.接收

Struts之action的请求接受参数

1.Struts2 提供三种数据封装的方式 Action 本身作为model对象,通过成员setter封装 创建独立model对象,页面通过ognl表达式封装 使用ModelDriven接口,对请求数据进行封装 Action充当的角色既可以是Model也可以使Controler. 2.Action 本身作为model对象,通过成员setter封装,而且是必须要属性的setter方法,与getter并没有关系(属性驱动方式): 3.创建独立model对象,页面通过ognl表达式封装,必须要User

Struts2中Action接收参数的方法主要有以下三种:

Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数(最原始的方式):     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=jim: 2.使用DomainModel接收参数:     a.定义:定义Model类,在Action中定义Model类的对象(不需要new),创建该对象的get和set方法

Struts2接受参数的几种类型和接受复杂类型参数(list&lt;String&gt;和list&lt;Object&gt;)

Struts2接受参数的几种类型 大概有这几种类型: 1.使用Action的属性接受参数 在Action中加入成员变量,配置Getter和Setter方法,Getter而和Setter方法的名字和表单中input标签的name属性一致(简单来说就是Action中变量的名和表单中input的name值一致) 2.使用DomainModel接收参数 JSP: <form action="LoginAction.action" method="post"> U

Struts2中Action接收参数的方法

详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt112 Struts2中Action接收参数的方法主要有以下三种: 1.使用Action的属性接收参数:     a.定义:在Action类中定义属性,创建get和set方法:     b.接收:通过属性接收参数,如:userName:     c.发送:使用属性名传递参数,如:user1!add?userName=Magci: 2.使用DomainModel接收参数: