Struts2中接收参数的几种方式:
1. 用Action的属性:
在action里面定义要接收的参数,并提供相应的setter,getter,可以和提交参数的名称一致,并不用做数据类型的转换。
如:
Java代码
public class UserAction extends ActionSupport {
private String password;
pirvate String name;
//……对应的setter,getter方法
public void execeute() {
System.out.println(name +”:”+passowrd);
return “success”;
}
}
public class UserAction extends ActionSupport {
private String password;
pirvate String name;
//……对应的setter,getter方法
public void execeute() {
System.out.println(name +”:”+passowrd);
return “success”;
}
}
相应提交方式可以用get和post,如:userAction?password=admin&name=admin
2. 使用Domain Model:
在Action里面不存很多的属性,而是用Model层用到的模型,保存它的一个对象
如:
Java代码
public class UserAction extends ActionSupport {
private User user;
//……对应的setter,getter方法
public void execeute() {
System.out.println(user.getName() +”:”+user.getPassowrd());
return “success”;
}
}
public class UserAction extends ActionSupport {
private User user;
//……对应的setter,getter方法
public void execeute() {
System.out.println(user.getName() +”:”+user.getPassowrd());
return “success”;
}
}
提交参数:userAction?user.password=1&user.name=admin;这里面的user指向Action里面的user。
3. 使用DTO--数据传输对象
它的作用是接收参数,传递参数,并不是项目中的实体类。如用户注册时,会用到确认密码,所以要先把参数接收过来,做处理后,再传递给相应方法去创建User对象。
Java代码
public class UserDTO {
private String name;
private String password;
private String confirm;
//……对应的setter,getter方法
}
public class UserDTO {
private String name;
private String password;
private String confirm;
//……对应的setter,getter方法
}
可能的Action
Java代码
public class UserAction extends ActionSupport {
private UserDTO user;
//……对应的setter,getter方法
public void execeute() {
if(checkdate(userDTO userDTO) )//检查数据{
newUser(UserDTO userDTO)//创建User对象
System.out.println(user.name +”:”+user.passowrd);
return “success”;
}
return “fail”;
}
}
public class UserAction extends ActionSupport {
private UserDTO user;
//……对应的setter,getter方法
public void execeute() {
if(checkdate(userDTO userDTO) )//检查数据{
newUser(UserDTO userDTO)//创建User对象
System.out.println(user.name +”:”+user.passowrd);
return “success”;
}
return “fail”;
}
}
提交参数的方式的Domail Model方式的相同。
4.使用ModelDriven:
在创建Action的时候,发现Action实现了ModelDriven接口,去调用 接口的getModel()方法,取到了User。
Java代码
public class UserAction extends ActionSupport implements ModelDriven<User> {
private User user = new User(); //这里要手动的New下
//……对应的setter,getter方法
public void execeute() {
System.out.println(user.name +”:”+user.passowrd);
return “success”;
}
@Override
public User getModel() {
return user;
}
}
struts2中的传参还有待于思考下它的思路!有高手请指点下,不胜感激!
分享到:
相关推荐
Struts2是一个流行的Java web框架,它为开发者提供了一种优雅的方式来构建动态、结构良好的Web应用程序。在Struts2中,结果(Result)是动作(Action)执行后跳转的目标,它可以是一个JSP、Servlet或其他资源。有时...
HttpClient可以帮助我们在后台模拟用户请求,与Struts2 Action进行交互,以便测试或实现服务间通信。 在使用HttpClient时,我们需要创建一个`CloseableHttpClient`实例,然后使用`HttpPost`或`HttpGet`对象来构建...
Struts2是一个强大的MVC(模型-视图-控制器)框架,被广泛应用于Java Web开发。这个入门实例主要关注如何在Struts2中传递参数,实现一个简单的登录功能。在这个过程中,我们将涉及到以下几个核心概念和步骤: 1. **...
在开发Java Web应用程序时,尤其是使用Struts2框架与JSP进行交互时,可能会遇到URL传参中文乱码的问题。这个问题通常涉及到字符编码的设置,包括客户端请求编码、服务器接收编码以及应用程序内部处理编码的统一。...
JSP struts2 url传参中文乱码解决办法 1.设置struts.xml <constant name=struts.i18n.encoding value=UTF-8> 或是设置struts.properties(我自己没试过) struts.i18n.encoding=UTF-8 2.在web.xml添加编码过滤器 ...
Struts2是一个流行的Java web框架,它用于构建和维护可扩展、模块化且易于管理的企业级应用程序。在处理用户请求时,Struts2允许开发者通过Action类来接收和处理参数,包括中文参数。当我们需要通过POST方法提交包含...
Struts2框架确实可以通过超链接传递参数,这是它的一个基本特性。在Struts2中,你可以使用`<s:iterator>`标签遍历集合,并在超链接中嵌入需要传递的参数。下面详细介绍如何实现这个功能。 1. **超链接与参数传递**...
十二、总结 本教程对struts2的基本知识进行了一些说明,关于struts2的更多详细内容应参看struts2的官方文档及提供的app实例。 下面对struts2的基本执行流程作一简要说明,此流程说明可以结合官方提供的struts2结构图...
本文详细介绍了Struts2处理多个请求和域传参的相关知识点。从过滤器和拦截器的作用到动态方法调用的实现,再到具体的登录和注册请求处理示例,旨在帮助读者全面了解Struts2的基本概念和使用方法。希望本文能对你在...
Struts2作为一款流行的Java Web框架,为开发者提供了多种传递数据的方式,使应用程序能更灵活地处理用户输入和展示结果。在本篇文章中,我们将详细探讨Struts2的三种主要的传值方式,并通过一个简单的Demo来加深理解...
总结,Struts1作为早期的Web框架,虽然现在已经被Struts2和Spring MVC等新框架所替代,但它在Java Web开发历史上的地位不容忽视,其设计理念和模式对理解现代框架仍有启发意义。通过学习Struts1,开发者能够更好地...
Struts2是一个基于MVC设计模式的Java Web开发框架,它的主要目的是简化开发流程并提供一套规范化的开发方式。以下是对Struts2框架关键知识点的详细总结: 1. **默认Action**:如果没有指定Action,系统会默认使用`...
Struts2是一个基于MVC设计模式的Java Web框架,它主要负责控制应用程序的流程,将用户的请求导向到相应的业务逻辑。在Struts2中,Action是核心组件,它实现了业务逻辑处理。Struts2的配置文件包括web.xml和struts....
### Struts2 开发知识点详解 #### 一、Struts2 概述 **Struts2** 是一个基于 **MVC (Model-View-Controller)** 设计模式的开源框架,用于简化 Java Web 应用程序的开发过程。它提供了一种结构化的方式来组织应用...