1、使用action属性接收参数
只需在action加入getter/setter方法,如参数name=a,接受到参数必须有getName/setName方法。
链接:<a href="user/user!add?name=a&age=8">
public class UserAction extends ActionSupport {
private String name;
private int age;
public String add() {
System.out.println("name=" + name);
System.out.println("age=" + age);
return SUCCESS;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
2、使用Domain Model接收参数
将之前的属性放入到POJO ,并设置属性的setter/getter方法
链接:使用Domain Model接收参数<a href="user/user!add?user.name=a&user.age=8">添加用户</a>
public class UserAction extends ActionSupport {
private User user;
//private UserDTO userDTO;
public String add() {
System.out.println("name=" + user.getName());
System.out.println("age=" + user.getAge());
return SUCCESS;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
public class User {
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
}
3、使用ModelDriven接收参数
Action实现ModelDriven接口,实现getModel()方法。
这样user需要自己new出来,getModel返回user。
链接:使用ModelDriven接收参数<a href="user/user!add?name=a&age=8">添加用户</a>
public class UserAction extends ActionSupport implements ModelDriven<User> {
private User user = new User();
public String add() {
System.out.println("name=" + user.getName());
System.out.println("age=" + user.getAge());
return SUCCESS;
}
@Override
public User getModel() {
return user;
}
}
分享到:
相关推荐
本文将深入探讨Struts2接收参数的几种主要方法,包括通过Action的属性、使用Domain Model(领域模型)以及采用DTO(数据传输对象)进行参数接收。 ### 一、使用Action的属性接收参数 #### 原理 在Struts2框架中,...
### Struts2 接受参数的几种方式 #### 第一种方式:直接在 Action 中设置变量 这种方式是最直接的参数接收方式。当从前端传递参数到后端时,我们需要确保 Action 类中有与这些参数名称相匹配的变量。例如,如果...
在本篇文章中,我们将详细探讨Struts2的三种主要的传值方式,并通过一个简单的Demo来加深理解。 1. **Action属性传值** Struts2的核心是Action类,每个Action类都代表一个特定的业务逻辑。我们可以通过在Action类...
Namespace是Struts2中用于组织Action的一种方式,可以看作是Action的命名空间。它有助于避免Action名称冲突,同时提供了更灵活的URL映射策略。 **四、标签** 标签在struts.xml中定义一个配置包,可以包含多个Action...
综上所述,经典Struts2分页方法涉及了Action、Model、DAO、结果映射、视图、拦截器、JSP/Freemarker标签库、URL参数、分页算法和最佳实践等多个方面。通过学习和实践这些知识点,Java Web开发者能够更好地理解和应用...
Struts2提供了几种方式来实现这个功能,第二种方法可能是指使用自定义拦截器或插件。例如,可以使用Struts2的DisplayTag库,它是一个强大的表格和分页标签库。在JSP中,我们可以这样写: ```jsp ${pageBean....
7. **异常处理**:Struts2提供了一种全局的异常处理机制,通过`<global-exception-mappings>`和`<global-results>`配置,可以统一处理Action执行过程中的异常,并定义异常发生后的跳转页面。 8. **国际化...
Struts2是一个流行的Java web框架,它为开发者提供了一种结构化的方式来构建MVC(Model-View-Controller)应用程序。在Struts2中,文件上传是常见的功能,用于允许用户在网页上上传文件到服务器。这个压缩包包含了...
Struts2提供了几种机制来简化这个过程: - **直接绑定**:如`hello.action?id=1`会直接为Action中的id属性赋值。 - **对象属性绑定**:若参数较多,且都属于同一对象,则可将所有属性封装在一个对象内,例如`...
在Struts2的设计中,核心理念包括以下几个方面: 1. **模块化设计**:Struts2的每个组件如Action、Result、Interceptor等都是独立的,可以单独替换或扩展,使得系统具有很高的灵活性。 2. **依赖注入(Dependency ...
2. **定义Action类**:在Action类中定义接收文件的方法,并使用Struts2提供的API完成文件的保存操作。 **注意事项:** - **文件大小限制**:默认情况下,Struts2对上传文件的大小有限制。可以在`struts.xml`或`...
1. **配置Struts2**:在web.xml中配置Struts2的DispatcherServlet,添加struts2的核心过滤器,并设置相关的初始化参数。 2. **引入Hibernate**:在项目中添加Hibernate的库,包括hibernate-core、hibernate-...
6. **JSONParam注解**:对于接收JSON请求,Struts2提供了`@JSONParam`注解,可以将JSON请求参数绑定到Action的属性上,简化了数据处理。 7. **JSON验证**:Struts2提供了基于JSON的验证功能,可以在Action中定义...
2. **输入参数**:通过属性注入的方式接收用户提交的数据。 3. **返回结果**:Action类需要返回一个字符串,表示下一步的流向,例如`SUCCESS`、`ERROR`等。 #### 四、配置文件详解 1. **`struts2-default.xml`**:...
Struts2提供了两种方式实现文件下载:一种是通过流的方式,另一种是使用`Result`类型。流的方式通常涉及创建一个Action,该Action读取并流化要下载的文件内容。使用`<s:url>`和`<a>`标签生成下载链接,然后在浏览器...
Struts2中的`ActionServlet`就是对Servlet API的一种扩展,它作为整个框架的调度中心,负责接收请求、调用Action并返回相应的结果。 在Struts2中,Servlet API主要体现在以下几点: 1. **过滤器(Filter)**:...
在Struts2中实现AJAX,主要涉及以下几个关键点: 1. **Struts2 Action和Result**:首先,你需要创建一个Struts2 Action类,它将处理客户端发送的请求。这个Action类中定义的方法对应于用户触发的操作,并返回一个...
Struts2、DWR(Direct Web Remoting)和Ajax是Web开发中的关键技术,它们结合使用可以实现页面的局部刷新,提高用户体验。Struts2是一个基于MVC设计模式的Java Web框架,DWR则是一个用于简化AJAX开发的库,允许前端...
在学习Struts2时,除了基本的接收参数和文件上传,还需要了解以下几个关键知识点: 1. **Action和结果类型**:Action是Struts2的核心组件,它封装了业务逻辑,而结果类型定义了请求处理后的跳转路径,如转发、...