struts2中的Action接收表单传递过来的参数有3种方法:

如,登陆表单login.jsp:

<form action="login" method="post" name="form1">

用户名:<s:textfield name="username"/><br/>

密 码:<s:password name="password"/><br/>

<s:submit value="提交"/>

</form>

1.在Action类中定义表单属性,两者属性名称必须一致。提供setter,getter方法。即可接收到表单传过来的参数. 这种接收参数的方法,方便简单,但是结构性不是很好,且当表单传递来的参数很多的时候,整个Action类中充斥着setter,getter方法,程序结构不是很美观。

2.把表单传递过来的参数封装成一个类,然后调用其中的属性. 如,把login.jsp页面要传来的参数进行封装

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; }

然后再Action方法中,定义该类的对象就可以了,如

public class loginAction extends ActionSupport{ private Users users; public Users getUsers(){ return users; }

public void setUsers(Users users){ this.users=users; } }

通过这种方法传值,还必须在jsp页面做一下处理,login.jsp中from1的属性名应该改成这样: 登陆表单login.jsp:

<form action="login" method="post" name="form1">

用户名:<s:textfield name="users.username"/><br/>

密 码:<s:password name="users.password"/><br/>

<s:submit value="提交"/>

</form>

这种方法,在struts开发中是很常用的一种方法!

3.通过实现ModelDriven接口接收表单数据 首先Action类必须实现ModelDriven接口,同样把表单传来的数据封装起来,

Action类中必须实例化该对象,并且要重写getModel()方法

public class loginAction extends ActionSupport implements ModelDriven<Users>{

private Users users =new Users(); public Users getModel(){ return users; }

} 三种方法各有所好,根据不同情况选择使用

struts2中的jsp值传到后台action接收的三种方法的更多相关文章

  1. 在 C# 中,(int) ,Int32.Parse() 和 Convert.toInt32() 三种方法的区别

    在 C# 中,(int),Int32.Parse() 和 Convert.toInt32() 三种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 S ...

  2. 【c#文档】在 C# 中,(int) ,Int32.Parse() 和 Convert.toInt32() 三种方法的区别

    [c#文档]https://msdn.microsoft.com/zh-cn/library/system.convert.toint32.aspx 转载自:http://www.cnblogs.co ...

  3. Java/JSP获得客户端网卡MAC地址的三种方法解析

    java/jsp获得客户端(IE)网卡MAC地址的方法大概有三种. 1.通过命令方式,在客户端执行Ipconfig 等等.(java/jsp) 2.通过ActiveX的方法.(jsp) 3.通过向13 ...

  4. 【转载】Python中如何高效实现两个字典合并,三种方法比较。

    本文转载自:http://www.pythoner.com/13.html Python中将两个字典进行合并操作,是一个比较常见的问题.本文将介绍几种实现两个字典合并的方案,并对其进行比较. 对于这个 ...

  5. Python中的str与bytes之间的转换的三种方法

    # bytes object b = b"example" # str object s = "example" # str to bytes sb = byt ...

  6. VS中C#读取app.config数据库配置字符串的三种方法(转)

    关于VS2008或VS2005中数据库配置字符串的三种取法 VS2008建立Form程序时,如果添加数据源会在配置文件 app.config中自动写入连接字符串,这个字符串将会在你利用DataSet, ...

  7. jsp值传到后台Struts2中的action三种方法

    Action接收表单传递过来的参数有3种方法: 如,登陆表单login.jsp: <form action="login" method="post" n ...

  8. JS funtion()中URL不跳转后台action问题

    JS funtion()中URL不跳转后台action问题 今天遇到一个百思不得其解的问题,到现在解决了,但是仍然不知道所以然(估计是因为域名不一致导致的),记录一下 $.get(actionUrl, ...

  9. struts2 Action 接收参数的三种方法

    刚学Struts2 时 大家可能遇到过很多问题,这里我讲一下Action 接收参数的三种方法,我曾经在这上面摔过一回.所以要警醒一下自己..... 第一种:Action里声明属性,样例:account ...

随机推荐

  1. 用介个新的blog咯..

    之前csdn实在是太卡了.. 只要一写比较长的blog就卡的要死.. 转过来这吧,比较好吧.. 原blog地址 啊为啥域名叫darklove呢.. 这是很久之前创建的.. 简单来说是一个和clearl ...

  2. NSMutableAttributedString常用代码

    NSTextAttachment *attachment = [[NSTextAttachment alloc] init]; attachment.image = [UIImage imageNam ...

  3. 实现倒计时功能js

    <p>系统将会在<strong id="endtime"></strong>秒后跳转到登录页!</p> [原生js实现] <s ...

  4. Java_动态编译总结

    不多说直接上代码: 动态编译的主类: package com.lkb.autoCode.util; import com.lkb.autoCode.constant.AutoCodeConstant; ...

  5. c++利用循环数组建立FIFO模板队列

    可直接编译运行,其中status()方法效果如图: #include <iostream> using std::cout; template<typename T> clas ...

  6. js入门篇之Math对象

    Math对象用于执行数学任务 Math对象的属性: Math对象的方法: 常用属性和方法: Math.PI ----------------返回圆周率3.14 ... Math.ceil(x) --- ...

  7. css3动态旋转魔方练习

    图片素材: html部分: <!DOCTYPE html><html><head> <meta charset="utf-8" /> ...

  8. Junit测试 - Spring的配置

    第一种: @ContextConfiguration(locations = {"classpath*:/spring-core.xml"}) public class UserM ...

  9. linux添加环境变量(centos)

    1.查看当前环境变量 #echo $PATH 2.增加环境变量 #vi /etc/profile export PATH=/usr/path/bin:$PATH 3.生效 #source /etc/p ...

  10. 关于MVC4.0中@Styles.Render用法与详解

    本文分享于http://keleyi.com/a/bjac/q74dybjc.htm文章,感觉写的蛮好所以就拿过来做笔记了,希望对大家有帮助 最近公司的新项目用了MVC 4.0,接下来一步步把 工作中 ...