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. XVI Open Cup named after E.V. Pankratiev. GP of SPB

    A. Bubbles 枚举两个点,求出垂直平分线与$x$轴的交点,答案=交点数+1. 时间复杂度$O(n^2\log n)$. #include<cstdio> #include<a ...

  2. strncpy,strcpy

    strncpy不会为des自动添加“\0” strcpy遇空结束,自动添加结束符 结论: 1.使用strcpy时一定不能用于无结束符的字符串,因为strcpy依赖\0判断源字符串的结束 2.使用str ...

  3. SSH三大框架的JAR包下载地址

    官网的英文网站读起来有点费劲,把下载地址直接放到这儿,以后免得到处找了 Struts 2 : http://struts.apache.org/download.cgi#struts216 sprin ...

  4. 转: BAT等研发团队的技术博客

    BAT 技术团队博客   1. 美团技术团队博客:  地址: http://tech.meituan.com/ 2. 腾讯社交用户体验设计(ISUX) 地址:http://isux.tencent.c ...

  5. 全新的博客之旅&大学生活

    博客之旅: 刚刚申请了博客,感觉非常兴奋,整个人都变得有精神了. 想来几个月之前看到奇奇申了博客,在上面写文章,写各种解题报告,心里就好羡慕,好希望将来有一天,也能有一个属于自己的博客.由于之前课业压 ...

  6. js--敏感词屏蔽

    <!doctype html><html><head><meta charset="utf-8"><meta name=&qu ...

  7. 神奇的VIM~转IBM

    % 地址范围符号,代表文件中的所有行,作用等同于地址范围 1,$ . 与任意单字符(换行符除外)匹配,例如 y.s 可以匹配 yas y.s 或 y s 等等. * 与前一字符的0次或多次出现匹配,例 ...

  8. can't resolve symbol 'R' ...

    in android studio IDE: 解决: Tools -> Android -> Sync Project with Gradle Files

  9. merge 本地 master 分支代码提示 “Already up-to-date”

    在使用 git 的过程中由于误操作,导致从本地 master 分支 merge 代码到当前分支失败,虽然当前分支和 master 分支代码不同步,但是仍然提示 Already up-to-date. ...

  10. Yii2 关闭和打开csrf 验证 防止表单多次重复提交

    原文地址:http://blog.csdn.net/terry_water/article/details/52221007 1.在Yii2配置中配置所有:所有的controller都将关闭csrf验 ...