【代码总结】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";
}
}
}
【代码总结】Struts2 Action接受参数方式的对比的更多相关文章
- Struts2-Action接受参数方式、method属性使用及通配符的配置
一.Action接受参数的方式 1.属性方式接收 首先编写一个用于上传参数的页面 <%@ page contentType="text/html;charset=UTF-8" ...
- struts2 Action 接收参数的三种方法
刚学Struts2 时 大家可能遇到过很多问题,这里我讲一下Action 接收参数的三种方法,我曾经在这上面摔过一回.所以要警醒一下自己..... 第一种:Action里声明属性,样例:account ...
- struts2 action 接受数组参数为Null的问题
public List<FormulaDetail> formulaDetails; public List<FormulaDetail> getFormulaDetails( ...
- Spring MVC(五)--控制器通过注解@RequestParam接受参数
上一篇中提到,当前后端命名规则不一致时,需要通过注解@RequestParam接受参数,这个注解是作用在参数上.下面通过实例说明,场景如下: 在页面输入两个参数,控制器通过注解接受,并将接受到的数据渲 ...
- 十一、Struts2封装请求参数的方式
十一.Struts2封装请求参数的方式 方式一.Action 本身作为model对象,通过成员setter封装(一个名字为params的拦截器干的) 注意:表单中的名称要和动作类中的名称一致(这是必须 ...
- Struts2学习---基本配置,action,动态方法调用,action接收参数
首先我们先来直接配置,然后再来讲原理: 第一步:jar包的引入: 我们可以到struts2的官网上下载: http://struts.apache.org/download.cgi#struts251 ...
- Struts2 Action 动态传参数
Struts2的两个Action之间传参的问题. 需求功能是这样:Action1 获取数据库配置内容,得到相应Model的 动态URL ,这里的URL 有的是Action有的是JSP页面. 1.使用r ...
- Struts2接受参数的几种类型和接受复杂类型参数(list<String>和list<Object>)
Struts2接受参数的几种类型 大概有这几种类型: 1.使用Action的属性接受参数 在Action中加入成员变量,配置Getter和Setter方法,Getter而和Setter方法的名字和表单 ...
- Struts2中Action接收参数的方法
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt112 Struts2中Action接收参数的方法主要有以下三种: 1.使用A ...
随机推荐
- Java 中多态的实现(上)
Java 中语法上实现多态的方式分为两种:1. 重载.2. 重写,重载又称之为编译时的多态,重写则是运行时的多态. 那么底层究竟时如何实现多态的呢,通过阅读『深入理解 Java 虚拟机』这本书(后文所 ...
- Win10安装4 —— 通过BIOS进入PE
本文内容皆为作者原创,如需转载,请注明出处:https://www.cnblogs.com/xuexianqi/p/12369367.html 一:"BIOS"与"PE& ...
- Learn from Niu 2020.1.28
1. 泛读和精度的区别和迭代: 泛读: 1个月之内,读50篇论文,进行粗读,了解多维时间序列信号,有哪些research problem, challenges, research groups, r ...
- -bash: mysqld: command not found
网址:https://blog.csdn.net/zq199692288/article/details/78863737
- mac或windows下Navicat Premium安装
找了很多地址都乱七八糟的说明一通还没啥用,好不容易找到一个靠谱的,记录一下,也方便一下和我一样苦苦寻找的人,亲测有用 https://www.52pojie.cn/thread-727433-1-1. ...
- QQ第三方登录(二)
首先我们先来看一下我的目录 Connect2.1 是我们从下载的SDK,内容包含 其他文件在配置之后全部删除了! index.html 是我们点击登陆的页面(以下为html中的代码) <cen ...
- linq和隐式类型var
隐式类型 var 强类型,声明的时候必须给变量赋值,编译器会根据值来确定其类型.只能出现在局部变量或脚本代码中. 使用范围: 简单类型:如int string等 复杂类型:如数组.类等 逻辑语句:fo ...
- android 代码设置图标背景色(圆形图标)和图标颜色
原图: 1.改变图标颜色: mImageView.setColorFilter(Color.parseColor("#ff0000")); 效果: 2.改变图标背景色(主要是圆形图 ...
- 在Unity3d中使用Google.ProtocolBuffers
通过Nuget下载Google.ProtocolBuffers,在目录中找到net35下的文件,放入unity3d中作为插件 PersonMessage.Builder personBuilder = ...
- 计数器IP核
Quartus II提供的LPM_couter IP核的使用 FPGA设计方式: 原理图,Verilog HDL设计方式,IP核输入方式 创建IP核 点击TOOLS—IP catalog-libray ...