Struts2 数据处理攻略
Struts2 提供了非常方便的数据处理功能,包括表单提交、参数传递、数据封装等。本文将从以下三个方面详细介绍 Struts2 数据处理的攻略:
1.表单提交
2.参数传递
3.数据封装
表单提交
在 Struts2 中,我们可以通过表单提交的方式向服务器发送请求,并且可以同时将一些参数提交给服务器。具体操作步骤如下:
1.编写 JSP 页面
<form action="hello" method="POST">
<input type="text" name="userName"/><br/>
<input type="password" name="password"/><br/>
<input type="submit" value="提交"/>
</form>
2.编写 Action 类
public class HelloAction extends ActionSupport {
private String userName;
private String password;
// getter/setter 方法
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() throws Exception {
System.out.println("userName:" + userName);
System.out.println("password:" + password);
return SUCCESS;
}
}
通过以上代码,我们可以将表单中提交的 userName 和 password 参数封装到 Action 类中的对应属性中,并且在 execute 方法中进行打印。
参数传递
在 Struts2 中,我们还可以通过 URL 直接传递参数给 Action 类,常见的方式包括 GET 方式和 POST 方式。
1.GET 方式传递参数
<a href="hello?userName=Tom&password=123456">Hello Struts2</a>
在上面的代码中,“hello”是我们需要访问的 Action 类,后面的参数 userName 和 password 分别传递了值为 Tom 和 123456 的参数。这些参数将会在 Action 类中进行封装。
2.POST 方式传递参数
<form id="form1" name="form1" method="post" action="hello">
<input type="hidden" name="userName" value="Tom"/>
<input type="hidden" name="password" value="123456"/>
</form>
<script type="text/javascript">
document.form1.submit();
</script>
在上面的代码中,我们通过一个隐藏的表单将参数 userName 和 password 传递给 Action 类,并通过 JavaScript 实现了表单自动提交的功能。
数据封装
在 Struts2 中,还有一个非常重要的功能就是数据封装。数据封装是指将 HTTP 请求中的参数自动封装到 Action 类的属性中,这样我们可以更方便的对这些参数进行处理。
1.普通属性
public class HelloAction extends ActionSupport {
private String userName;
private String password;
// getter/setter 方法
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() throws Exception {
System.out.println("userName:" + userName);
System.out.println("password:" + password);
return SUCCESS;
}
}
在这个例子中,我们定义了两个普通的属性,分别是 userName 和 password。在表单提交或参数传递过程中,Struts2 框架会自动将这些参数封装到 Action 类的属性中,而属性的名称需要与参数的名称一致。
2.对象属性
public class User {
private String userName;
private String password;
// getter/setter 方法
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 class HelloAction extends ActionSupport {
private User user;
// getter/setter 方法
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
// 处理表单提交的请求
public String execute() throws Exception {
System.out.println("userName:" + user.getUserName());
System.out.println("password:" + user.getPassword());
return SUCCESS;
}
}
在这个例子中,我们定义了一个对象属性 user,其类型为 User 类型。在表单提交或参数传递过程中,Struts2 框架同样会自动将参数封装到 User 类的属性中,而属性的名称需要与参数的名称一致。
总结
以上就是 Struts2 数据处理的攻略,包括表单提交、参数传递、数据封装等。通过使用 Struts2,我们可以非常方便的处理这些数据,提升开发效率。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:struts2数据处理_动力节点Java学院整理 - Python技术站