Struts2中表单与Action传递数据三种方式

简介:

1.       Action中的属性与表单中的属性一致就可以

JSP中的表单

<form action="login.action" method="post">

    用户名:<input type="text" name="username"/>    <br/>

    密码:  <input type="password" name="password" /> <br/>

    <input type="submit" value="登陆" />

</form>

 

Action中的属性                                                        

public class LoginAction extends ActionSupport {

    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 execute(){

       ifusername.equalsIgnoreCase("aaa")&&password.equals("aaaaaa")){

           return SUCCESS;

       }

       else{

           return ERROR;

       }

    }

}

2.       使用一个VO类

在表单中提交的属性名改为user.username

<form action="login.action" method="post">

       用户名:<input type="text" name="user.username"/>  <br/>

       密码:  <input type="password" name="user.password" /> <br/>

       <input type="submit" value="登陆" />

    </form>

LoginAction中的属性改为user

public class LoginAction extends ActionSupport{

    private User user;

   

    public User getUser() {

       return user;

    }

    public void setUser(User user) {

       this.user = user;

    }

 

    public String execute(){

       ifuser.getUsername().equalsIgnoreCase("aaa")&&user.getPassword().equals("aaaaaa")){

           return SUCCESS;

       }

       else{

           return ERROR;

       }

    }

}

 

 

3.       使用Struts2中的ModelDriven数据模式

Action类要实现一个泛型接口,前台表单与1相同

public class LoginAction extends ActionSupport implements ModelDriven<User> {

    private User user = new User();

   

    public String execute(){

       ifuser.getUsername().equalsIgnoreCase("aaa")&&user.getPassword().equals("aaaaaa")){

           return SUCCESS;

       }

       else{

           return ERROR;

       }

    }

 

    public User getModel() {

       return user;

    }

}


本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/p/6366178.html,如需转载请自行联系原作者

相关文章
|
Java 关系型数据库 数据库
Android App连接真机步骤与APP的开发语言和工程结构讲解以及运行实例(超详细必看)
Android App连接真机步骤与APP的开发语言和工程结构讲解以及运行实例(超详细必看)
344 0
|
C语言
C语言简单题目的优化合集(多种解法分享)
C语言简单题目的优化合集(多种解法分享)
252 0
|
Java Spring
无法自动装配。找不到 ‘Service‘ 类型的 Bean。 Service 与 ServiceImpl 没有互相联系起来
文章讲述了一个Java开发中的问题,即Spring框架无法自动装配Bean,原因是ServiceImpl类未实现对应的Service接口,解决办法是让ServiceImpl实现Service接口。
2549 1
无法自动装配。找不到 ‘Service‘ 类型的 Bean。 Service 与 ServiceImpl 没有互相联系起来
|
数据可视化 关系型数据库 数据安全/隐私保护
Python 基于 Django 的学生成绩管理系统,可视化界面
Python 基于 Django 的学生成绩管理系统,可视化界面
|
Linux Windows
IDEA如何查看所有的断点(Breakpoints)并关闭
【10月更文挑战第15天】在 IntelliJ IDEA 中,可以通过以下步骤查看和关闭所有断点: 1. 查看所有断点: - 打开断点窗口:菜单栏选择 “View” -&gt; “Tool Windows” -&gt; “Debug”,或使用快捷键 “Alt+2”(Windows/Linux)/“Command+2”(Mac)。 - 在断点窗口中,可以看到所有设置的断点列表,包括文件、行号等信息。 2. **关闭断点**: - 单个断点关闭:在断点窗口中,点击断点左侧的红点图标即可关闭。
6574 2
|
存储 Java 关系型数据库
基于Servlet和JSP的Java Web应用开发指南
基于Servlet和JSP的Java Web应用开发指南
584 1
|
Java
Optional源码分析(涉及Objects源码和Stream源码)
本文分析了Java中Optional类的源码,包括其内部的Objects.requireNonNull方法、EMPTY定义、构造方法、ofNullable方法、isEmpty方法以及如何与Stream类交互,展示了Optional类如何避免空指针异常并提供流式操作。
154 0
Optional源码分析(涉及Objects源码和Stream源码)
|
前端开发 UED
css性能优化的方法
css性能优化的方法
235 0
|
弹性计算 数据中心
阿里云香港服务器详细介绍_BGP多线精品测试_CN2高速网络
阿里云香港服务器中国香港数据中心网络线路类型BGP多线精品,中国电信CN2高速网络高质量、大规格BGP带宽,运营商精品公网直连中国内地,时延更低,优化海外回中国内地流量的公网线路,可以提高国际业务访问质量。阿里云百科来详细介绍阿里云香港云服务器
|
XML 前端开发 数据格式
探索CSS预处理器:Sass、Less与Stylus
探索CSS预处理器:Sass、Less与Stylus