Struts2接收参数的几种方式
一、用Action属性
在action里定义要接收的参数,并提供相应的set和get方法。
如:
public class LoginAction extends ActionSupport {
private String username;
private String password;
//对应的get set方法
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;
}
public String execute() {
// TODO Auto-generated method stub
System.out.println("username = "+username);
System.out.println("password = "+password);
return SUCCESS;
}
}
<form action="login" method="post">
用户名:<input type="text" name="username"><br/>
密 码:<input type="password" name="password"><br/>
<input type="submit" value="提交">
</form>
二、使用DomainModel
如果Action中属性过多,则可以Model保存为一个对象,并提供get和set
Model类
public class User {
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 User user;
public String execute() {
// TODO Auto-generated method stub
System.out.println("username = "+user.getUsername());
System.out.println("password = "+user.getPassword());
return SUCCESS;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
JSP
<form action="login" method="post">
用户名:<input type="text" name="user.username"><br/>
密 码:<input type="password" name="user.password"><br/>
<input type="submit" value="提交">
</form>
三、使用ModelDriven(模型驱动)
使用模型驱动模式时,Acton必须实现ModelDriven接口,实现该接口则必须实现getModel()方法,该方法用于把Action和与之对应的Model实例关联起来。
Model类同DomainModel
Action类
public class LoginAction extends ActionSupport implements ModelDriven<User> {
private User user = new User(); //需实例化
public String execute() {
// TODO Auto-generated method stub
System.out.println("username = "+user.getUsername());
System.out.println("password = "+user.getPassword());
return SUCCESS;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public User getModel() {
// TODO Auto-generated method stub
return user;
}
}
JSP
<form action="login" method="post">
<!-- 属性可以为 对象.XXX 也可以直接为XXX 则前提Action中要自己实例化Model对象 -->
用户名:<input type="text" name="user.username"><br/>
密 码:<input type="password" name="password"><br/>
<input type="submit" value="提交">
</form>
四、使用request接收参数
此方法和传统的JSP页面接收参数一样,用request.getParameter("")方法。
Struts2接收参数的几种方式的更多相关文章
- ssh框架总结之action接收参数的三种方式
页面将参数传递给action的三种方式 一是通过属性传值: 将页面和action的的属性值保持一致,在action上写上该属性的set和get方法,这样在页面提交参数的时候,action就会调用set ...
- SpringBoot Controller接收参数的几种方式盘点
本文不再更新,可能存在内容过时的情况,实时更新请移步我的新博客:SpringBoot Controller接收参数的几种方式盘点: SpringBoot Controller接收参数的几种常用方式盘点 ...
- Struts2获取参数的几种方式
Struts2由于是一个贴心的框架,所以获取参数这种体力活,就无需再通过原生的request来getParameter了,有如下几种方式进行获取 1.Action中属性驱动,必须提供与form表单na ...
- struts2接收参数的5种方法
以下形式中最常用的是前两种 1. 使用Action的属性: 在action 里面定义要接收的参数,并提供相应的setter,getter,和提交参数的名称一致, 并不用做数据类型的转换相应提交方式可以 ...
- strut2接收参数的三种方式
strut2接收参数有三种方式(普通属性\领域对象\模型驱动),分别对三种进行一个总结: 一.普通属性 Jsp代码 <body> <h1>普通属性</h1> < ...
- 前端ajax异步传值以及后端接收参数的几种方式
原文参考 异步传值 前台往后台传值呢,有很多种方式,大家听我细细道来. 第一种呢,也是最简单的一种,通过get提交方式,将参数在链接中以问号的形式进行传递. // 前台传值方法 // 触发该方法调用a ...
- spring-boot-route(一)Controller接收参数的几种方式
Controller接收参数的常用方式总体可以分为三类.第一类是Get请求通过拼接url进行传递,第二类是Post请求通过请求体进行传递,第三类是通过请求头部进行参数传递. 1 @PathVariab ...
- PHP接收参数的几种方式
PHP5在默认的情况下接收参数是需要使用 $_GET['value']; $_POST['value']; 还可以在PHP.ini 文件中的 将register_globals = Off 改re ...
- ASP.NET MVC post请求接收参数的三种方式
1.在控制器中建立一个PostDemo方法,建立视图创建一个表单 <h2>PostDemo</h2> name的值:@ViewBag.name <br /> nam ...
随机推荐
- 【HDU2815】【拓展BSGS】Mod Tree
Problem Description The picture indicates a tree, every node has 2 children. The depth of the nod ...
- 用jq 做了一个排序
<ul id="cont"> <li data="5">5</li> <li data="1"&g ...
- 《zip命令》-linux命令五分钟系列之九
本原创文章属于<Linux大棚>博客. 博客地址为http://roclinux.cn. 文章作者为roc 希望您能通过捐款的方式支持Linux大棚博客的运行和发展.请见“关于捐款” == ...
- sass编译css(转自阮一峰)
一.什么是SASS SASS是一种CSS的开发工具,提供了许多便利的写法,大大节省了设计者的时间,使得CSS的开发,变得简单和可维护. 本文总结了SASS的主要用法.我的目标是,有了这篇文章,日常的一 ...
- 每个Linux新手都应该记住的10个基本Linux命令
Linux对我们的生活有着很大的影响.至少,你的安卓手机上面就有Linux内核.然而,头一次入手Linux只会让你觉得不适.因为在Linux上,你通常应该使用终端命令,而不是只要点击启动器图像(就像你 ...
- iOS 取得CGimage字节数据的方法
通过我在网上搜索和总结,目前看来,我发现两种比较方便的方式. 1. CGImage -> CGDataProvider -> CFData -> xx * CGDataProvide ...
- HttpClient4.3.6 实现https访问
package httptest; import java.io.IOException; import java.nio.charset.Charset; import java.security. ...
- MFC任务管理器task manager----进程的挂起与恢复--NtSuspendProcess&&NtResumeProcess
http://hi.baidu.com/xbbsh/blog/item/b73d3125462201084c088db1.html ---------------------------------- ...
- android利用反射通过代码收缩通知栏
最近有个需求,点击通知栏RemoteView中的按钮后要收起通知栏,系统默认是不自动收起的,不过没有找到公开的API可以控制通知栏. 在android.app.StatusBarManager里提供了 ...
- 【HDOJ】3309 Roll The Cube
BFS,考虑一球进洞仅一球滚动以及两球重叠的情况即可. /* 3309 */ #include <iostream> #include <queue> #include < ...