Struts2获取参数的几种方式

Struts2由于是一个贴心的框架,所以获取参数这种体力活,就无需再通过原生的request来getParameter了,有如下几种方式进行获取

1、Action中属性驱动,必须提供与form表单name相同的后台属性get/set,这种方式适合数据量比较少的form表单提交

2、大数据量的form表单,这时一般对应后台的一个实体类,所以这时还在每个action写属性驱动,那就会代码冗余,这时可以定义一个对象来属性来进行参数接收,如User对象,只是前台传参数的时候,需要先写对象名再点对象下的属性的写法,例子如下:

 

3、但是对象驱动还是不太方便,需要前台传参数时写出对象的名再点出属性值,所以还可以使用更方便的模型驱动,不需要写出类变量名再点属性,直接写类变量的属性名就可以把数据提交给模型自动接收,只需要Action实现ModelDriven<T>即可,模型驱动和类属性驱动本质差不多,但必须在Action中先new进行实例化,当然如果还有额外的不属于模型的属性需要传递,但是由于模型没有相应属性,所以无法接收,这时还需要自己在Action中添加相应的属性驱动来进行接收

 

4、参数接收类型说明:常用的8大基本数据类型都可以实现自动装箱,不过定义成员变量时建议使用包装类型,因为包装类型可以接收null值,还有一点需要注意的就是8大基本数据类型中的日期类型格式只支持2017-08-6这种格式,而不支持2017/08/6等其他类型,所以为了方便,在jsp界面上就不让用户输入日期,而是采用只读形式的日期选择控件,限定为-这种形式,反正中国人大都喜欢-这种形式的日期,尤其是内网开发更不必要去进行复杂而无谓的日期格式转换定义

时间: 2024-10-23 02:27:46

Struts2获取参数的几种方式的相关文章

【Struts2】Struts2获取session的三种方式

1.Map<String,Object> map =  ActionContext.getContext().getSession(); 2.HttpSession session = ServletActionContext.getRequest().getSession(); 3.让Action实现SessionAware接口,并实现public void setSession(Map<String, Object> session) {} 方法,Struts2会在实例化Act

ajax post提交到SpringMVC的Controller并将处理结果传递到前台输出总结(6)-- springmvc 控制器获取参数的几种方式

参考:http://www.cnblogs.com/xiaoxi/p/5695783.html 1.直接把表单的参数写在Controller相应的方法的形参中,适用于get方式提交,不适用于post方式提交. /** * 1.直接把表单的参数写在Controller相应的方法的形参中 * @param username * @param password * @return */ @RequestMapping("/addUser1") public String addUser1(S

struts2的action从request获取参数值的几种方式

使用jquery框架的ajax能够方便的向后台传递参数,以$.post为例,参数有2种方式字符串和键值对: $.post(url, "name=aty&age=25")和$.post(url, {"name":"aty","age":25}).显然,使用json的方式比使用字符串拼接要方 便.对于后台的action来说,这2种方式是等价的,而且jquery也提供了param.serialize.serialize能够实

spring mvc获取路径参数的几种方式 - 浅夏的个人空间 - 开源中国社区

body { font-family: "Microsoft YaHei UI","Microsoft YaHei",SimSun,"Segoe UI",Tahoma,Helvetica,Sans-Serif,"Microsoft YaHei", Georgia,Helvetica,Arial,sans-serif,宋体, PMingLiU,serif; font-size: 10.5pt; line-height: 1.5;

springboot 获取控制器参数的几种方式

这里介绍springboot 获取控制器参数有四种方式 1.无注解下获取参数 2.使用@RequestParam获取参数 3.传递数组 4.通过URL传递参数 无注解下获取参数无注解下获取参数,需要控制器层参数与HTTP请求栏参数名称一致,这样后台就可以获取到请求栏的参数. /** * 无注解获取参数时,参数名称和HTTP请求参数必须一致 * @param name String 姓名 * @param age int 年龄 * @param score double 分数 * @return

java动态获取WebService的两种方式(复杂参数类型)

java动态获取WebService的两种方式(复杂参数类型) 第一种: @Override public OrderSearchListRes searchOrderList(Order_FlightOrderSearchRequest request) { Object myAllMessage; OrderSearchListRes response = null; try { String endpoint = carGlobalSetting.getEndpoint(); JaxWsD

thinkphp 3.2.3 入门示例2(URL传参数的几种方式)

原文:thinkphp中URL传参数的几种方式 在thinkphp中,url传参合asp.net中原理类似,下面就单个参数和多个参数传递方式进行一个简单讲解 1.传单个参数 单个参数这种比较简单,例如 想像edit操作里面传递一个id值,如下写法__URL__/edit/id/1 http://localhost/index.php/user/edit/id/1 id和其值1要分别位于/后面 后台获取id通过    $id=$_GET['id']   即可获取其具体值. 2.传多个参数 传多个参

java中获取路径的几种方式

总是忘记, 备份一下,方便下次用. 第一种: File directory = new File("");//参数为空 String courseFile = directory.getCanonicalPath() ;System.out.println(courseFile); 结果:C:\Documents and Settings\Administrator\workspace\projectName获取当前类的所在工程路径; 第二种: File f = new File(th

asp传递参数的几种方式

把下列代码分别加入a.asp和b.asp的<body></body>中,点提交,就可以将a.asp文本框的内容传给b.asp并显示出来 a.ASP <form action="B.asp" method="get"> <input name="ABC" type="text" /> <input name="" type="button&quo