struts2 Action获取表单数据的方式有三种:1.通过属性驱动的方式。2.模型驱动方式。3.使用多个model对象的属性。

1.通过属性驱动式

首先在jsp里面编写form表单的代码如下:

    <form action="sys/login.action" method="post">
<input type="text" name="username">
<input type="submit" value="submit">
</form>

Action:直接通过get、set方法获取。代码如下:

public class sysAction extends ActionSupport{
private String username; public String login() throws Exception {
System.out.println(username);
return SUCCESS;
} public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username= username;
}
}

2.模型驱动方式,Action类必须要实现ModelDriven<T>接口。对于要传入多个model第二种方式不方便

首先在jsp里面编写form表单的代码如下:

    <form action="sys/login.action" method="post">
<input type="text" name="username">
<input type="submit" value="submit">
</form>

Action:必须实现getModel() 方法,代码如下所示:

public class sysAction extends ActionSupport implements ModelDriven<User>{
private User user; public String login() throws Exception {
System.out.println(getModel().getUsername());
return SUCCESS;
} public User getModel() {
if (null == user) {
return user = new User();
}
return user;
}
}

3.第三种方式可以完全不实现ModelDriven<T>,也可使用多个model对象的属性。

首先在jsp里面编写form表单的代码如下:

 <form action="sys/login.action" method="post">
<input type="text" name="username">
<input type="submit" value="submit">
</form>

Action: 必须提供set方法

public class sysAction extends ActionSupport{
private User user;
private Teacher teacher; public String login() throws Exception {
System.out.println(user.getUsername());
System.out.println(teacher.getLevel());
return SUCCESS;
} public void setUser(User user) {
this.user = user;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
}

struts2总结四:Action与Form表单的交互的更多相关文章

  1. Struts(十四):通用标签-form表单

    form标签是struts2标签中一个重要标签: 可以生成html标签,使用起来和html的form标签差不多: Strut2的form标签会生成一个table,进行自动布局: 可以对表单提交的值进行 ...

  2. 2016/10/29 action与form表单的结合使用

    1>web.xml <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi= ...

  3. 参数传递的四种形式----- URL,超链接,js,form表单

    什么时候用GET,  查,删, 什么时候用POST,增,改  (特列:登陆用Post,因为不能让用户名和密码显示在URL上) 4种get传参方式 <html xmlns="http:/ ...

  4. ***四种参数传递的形式——URL,超链接,js,form表单

    什么时候用GET,  查,删 什么时候用POST,增,改  (特列:登陆用Post,因为不能让用户名和密码显示在URL上) 4种get传参方式 <html xmlns="http:// ...

  5. SpringMVC(十四):SpringMVC 与表单提交(post/put/delete的用法);form属性设置encrypt='mutilpart/form-data'时,如何正确配置web.xml才能以put方式提交表单

    SpringMVC 与表单提交(post/put/delete的用法) 为了迎合Restful风格,提供的接口可能会包含:put.delete提交方式.在springmvc中实现表单以put.dele ...

  6. form表单提交路径action="" 时的一种特殊情况

    一.说明: 当页面的form表达的action=""时,表示表单会提交到当前页面,但是如果当前页面的URL里已经带有一个参数了,每次提交表达时这个参数依然存在,不管form表单里有 ...

  7. Liferay7 BPM门户开发之40: Form表单的Action到Render的数据传递

    在Form提交后的变量,很多情况是要展现在jsp页面中,这时Action到Render的变量传递就非常有用. 例如,您在数据库中添加了学生的详细信息. 为了实现这一需求,先创建Form表单(学生的细节 ...

  8. Form表单中的action路径问题,form表单action路径《jsp--->Servlet路劲问题》这个和上一个《jsp--->Servlet》文章有关

    Form表单中的action路径问题,form表单action路径 热度5 评论 50 www.BkJia.Com  网友分享于:  2014-08-14 08:08:01     浏览数44525次 ...

  9. Js document.frmLogin.action = '/login.htm';的意义和form表单的target属性

    一.解答:就是把 这个id名为frmLogin的form的提交地址改为上面的/login.htm <form id="frmLogin" name="frmLogi ...

随机推荐

  1. mstsc局域网远程 要预先做的设置

    很简单========= 一:在“控制面板”->“管理工具”->“服务”上启动Remote Desktop Help Session Manager的服务; 二: 在“控制面板”-> ...

  2. FineUI第二天

    原博文http://www.cnblogs.com/sanshi/archive/2012/02/12/2347789.html 1.首先复制extJS的文件夹到根目录. 2.引用程序集 3.配置配置 ...

  3. codeforces 258div2 B Sort the Array

    题目链接:http://codeforces.com/contest/451/problem/B 解题报告:给出一个序列,要你判断这个序列能不能通过将其中某个子序列翻转使其成为升序的序列. 我的做法有 ...

  4. Linux查看和结束进程命令详解

    在ubuntu中,终止一个进程或终止一个正在运行的程序,一般是通过 kill .killall.pkill.xkill 等进行. ----------------------------------- ...

  5. java获得当前文件路径

    第一种: File f = new File(this.getClass().getResource("/").getPath()); System.out.println(f); ...

  6. poj 3026 bfs+prim Borg Maze

    Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 9718   Accepted: 3263 Description The B ...

  7. 解决港版A1530 ios8 联通4G 电话打不进无法接通的问题,联通4G开关开启方法

    GF的iPhone5s港版A1530联通4G老是出现无法接通的问题, 根本原因是没有4G开关.港行iPhone却只有3G开关.也就是说,当启动3G时,却搜到4G信号,但是关闭时却只能关闭3G和2G.让 ...

  8. Linux: xclip,pbcopy,xsel用法 terminal 复制粘帖 (mac , ubuntu)

    ubuntu下的用户可以只用apt-get来安装: sudo apt-get install xclip echo "Hello, world" | xclip mac下使用pbc ...

  9. JavaScript 在页面上显示数字时钟

    显示一个钟表 拓展JavaScript计时:http://www.w3school.com.cn/js/js_timing.asp setTimeout() 方法会返回某个值.在下面的语句中,值被储存 ...

  10. bootstrap的select2校验及不影响原来的格式

    <style> .has-error .select2-choice, .has-error .select2-choices, .has-error.simple .select2-ch ...