struts后端取值方式


最近在公司做的struts+hibernate项目,由于以前基本使用SSM/Springboot项目,对于这种数据处理方式不太数据。初次使用,简单的功能,逻辑通了,但是时间花的真的恶心。

我们首先编写一个 UserInfo 类

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
private class UserInfo {

private String username;
private String password;
private Integer female;
private Integer age;

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

前端传值就是把 UserInfo 对象传过来,里面的数据需要对应封装,有点类似于@RequestParam(“userInfo”)UserInfo userInfo。

属性驱动

前端传值方式

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
const params = {
// action里对应的对象的别名.属性
"userInfo.username": AREANAME,
"userInfo.password": DEPTNAME,
"userInfo.age": SXID
}

var url = "/parallel/bs/sj/sxxz.do";

// 此方式中文也可以传
$.post(url, params, function (data) {
if (data) {
console.log(data)
} else {
alert("系统异常,请联系管理员~")
}
})

action里接收前端传值

1
2
3
4
5
6
7
8
9
private UserInfo userInfo = new UserInfo();

public void setUserInfo(UserInfo userInfo) {
this.UserInfo = UserInfo;
}

public UserInfo getUserInfo() {
return userInfo;
}

ModelDriven 模型驱动(比较常用)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
@ParentPackage("struts-default")
public class UserAction extends ActionSupport implements ModelDriven<User>{
private User user = new User();

@Action(value = "login", results = {@Result(name = "success", location="/home.jsp")})
public String login() throws Exception {
System.out.println(user.getUsername());
System.out.println(user.getPassword());
return SUCCESS;
}

@Override
public User getModel() {
return user;
}
}
打赏
  • 版权声明: 本博客所有文章除特别声明外,均采用 Apache License 2.0 许可协议。转载请注明出处!
  1. © 2020 Liu Yang    湘ICP备20003709号

请我喝杯咖啡吧~

支付宝
微信