Struts2_用DomainDriven接收参数

通过实现 DomainDriven 接口来接收请求参数,这种方法用的比较少,一般还是用前两种。

请求:

1 <a href="user/user!add?name=xiaoer&age=33">添加用户</a>

User类:

 1 package com.bjsxt.struts2.user.model;
 2
 3 public class User {
 4
 5     private String name;
 6
 7     private int age;
 8
 9     public String getName() {
10         return name;
11     }
12
13     public void setName(String name) {
14         this.name = name;
15     }
16
17     public int getAge() {
18         return age;
19     }
20
21     public void setAge(int age) {
22         this.age = age;
23     }
24
25 }

UserAction:

 1 package com.bjsxt.struts2.user.action;
 2
 3 import com.bjsxt.struts2.user.model.User;
 4 import com.opensymphony.xwork2.ActionSupport;
 5 import com.opensymphony.xwork2.ModelDriven;
 6
 7 public class UserAction extends ActionSupport implements ModelDriven<User>{
 8
 9     private static final long serialVersionUID = -2514433281517403937L;
10
11     User user = new User();
12
13     public String add(){
14         System.out.println("name = " + this.user.getName());
15         System.out.println("age111 = " + this.user.getAge());
16         return SUCCESS;
17     }
18
19     @Override
20     public User getModel() {
21         return this.user;
22     }
23
24 }

结果:

Struts2 主要关注的是 C 也就是 Controller 这一层。

Struts2 对于实现了 ModelDriven 接口的Action的处理思路大致如图:

链接: http://pan.baidu.com/s/1dFgQDvN 密码: hd3i

时间: 2024-08-11 03:35:29

Struts2_用DomainDriven接收参数的相关文章

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方法

Spring MVC 之请求处理方法可接收参数(二)

请求处理方法可接收参数 今天学习了前三个方法. 1.作用域对象2.单个表单提交数据3.表单数据封装的Bean对象 首先创建一个实体对象. 1 package com.cy.springannotation.entity; 2 /** 3 * 定义一个表单实体类 4 * @author acer 5 * 6 */ 7 public class UserBean { 8 //要求属性名必须要和表单的参数名一样的! 9 private String username; 10 private Strin

Request 接收参数乱码原理解析二:浏览器端编码原理

上一篇<Request 接收参数乱码原理解析一:服务器端解码原理>,分析了服务器端解码的过程,那么浏览器是根据什么编码的呢? 1. 浏览器解码 浏览器根据服务器页面响应Header中的“Content-Type: text/html; charset=gb2312”解码.修改web.config中“responseEncoding=utf-8”,发现服务器页面响应Header变成了“Content-Type: text/html; charset=utf8”. <system.web&g

处理request接收参数的中文乱码的问题:

? POST的解决方案: * POST的参数在请求体中,直接到达后台的Servlet.数据封装到Servlet中的request中.request也有一个缓冲区.request的缓冲区也是ISO-8859-1编码. * 设置request的缓冲区的编码: * request.setCharacterEncoding("UTF-8");  --- 一定要在接收参数之前设置编码就OK. ? GET的解决方案: * 1.修改tomcat的字符集的编码.(不推荐) * 2.使用URLEncod

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接收参数:   

Struts2 DomainModel、ModelDriven接收参数

一.DomainModel(域模型) 1. 应用场景:一般我们在struts2的action中接收参数通常是如下方式 package cn.orlion.user; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport{ private String username; private String password; public String getUsernam

Struts中Action三种接收参数的方式?

前言: 前面已经有一篇随笔介绍了Struts2的大概原理.本文就Struts2中Action与jsp页面进行数据对接时介绍几种常见方法! 值栈ValueStack 3个Action Action1 package com.gdufe.action; import com.opensymphony.xwork2.ActionSupport; /* * Action接收参数之后通过set方法赋给普通变量age,name; */ public class UserAction1 extends Act

函数接收参数并弹出

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

Request 接收参数乱码原理解析一:服务器端解码原理

“Server.UrlDecode(Server.UrlEncode("北京")) == “北京””,先用UrlEncode编码然后用UrlDecode解码,这条语句永远为true吗?答案是否定的,结果可能与很多人预想的不大一样.本文主要分析这一问题出现的原理,研究下Server.UrlEncode(),Server.UrlDecode(),Request["xxx"]三个函数与编码方式的关系. 1. 问题出现的情景 网站采用了GB2312编码,在Web.confi