1:ModelDriven方式:
<body>
使用ModelDriven接收参数<a href="user/user!add?name=a&age=8">添加用户</a>
</body>
package com.action;
import com.domain.User;
import com.opensymphony.xwork2.ActionSupport;
import com.opensymphony.xwork2.ModelDriven;
public class UserAction1 extends ActionSupport implements ModelDriven<User> {
private User user = new User();
public String add(){
System.out.println(user.getName());
System.out.println(user.getAge());
return "success";
}
public User getModel() {
return user;
}
}
2:Domain Model方式:
<body>
使用Domain Model接收参数<a href="user/user!add?user.name=a&user.age=8">添加用户</a>
</body>
package com.action;
import com.domain.User;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction2 extends ActionSupport {
private User user ;
public String add(){
System.out.println(user.getName());
System.out.println(user.getAge());
return "success";
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
3:Parameters方式:
<body>
使用action属性接收参数<a href="user/user!add?name=a&age=8">添加用户</a>
</body>
package com.action;
import com.opensymphony.xwork2.ActionSupport;
public class UserAction3 extends ActionSupport{
private String name;
private String age;
public String add(){
System.out.println(name);
System.out.println(age);
return "success";
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
User.java
package com.domain;
public class User {
private String name;
private String age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getAge() {
return age;
}
public void setAge(String age) {
this.age = age;
}
}
分享到:
相关推荐
本文将详细介绍Struts2中Action获取参数的三种主要方式,并通过实际代码示例来阐述每种方法的使用。 1. **通过getter和setter方法获取参数** 这是最常见的方式,Struts2会自动将请求参数与Action类的属性进行匹配。...
### Struts2中Action间的参数传递方法 在Struts2框架中,经常需要实现Action之间的跳转,并在跳转过程中传递必要的参数。这种需求在实际开发中非常常见,尤其是在需要根据用户的不同操作来调用不同的业务逻辑时。...
- Struts2支持使用注解在Action类的方法参数上,比如`@RequestParam`,配合`@InitBinder`,可以在控制器层处理编码问题。 4. **JSP页面**: - JSP页面的`;charset=UTF-8" language="java" %>`指令应设置正确的...
总结来说,Struts2提供的这三种获取参数的方法各有优劣。属性驱动适合简单的场景,但随着表单复杂度增加,模型驱动和对象驱动方式更优。模型驱动在保持Action类简洁的同时,避免了对象驱动带来的HTML表单编码困扰,...
在这个主题中,我们将深入探讨Struts2如何获取参数、解决乱码问题以及实现页面跳转。 首先,让我们来看看Struts2如何获取HTTP请求中的参数。在Struts2中,我们可以使用Action类来接收和处理请求参数。Action类是...
Struts2 是一个基于MVC 模式的 Web 应用程序框架,它提供了多种方式来获取 Response 对象,以下是四种获得 Response 对象的方法: 方法 1:使用 Struts2 Aware 拦截器 在 Struts2 中,可以通过实现Aware接口来获取...
当请求到达Action时,该拦截器会检查Action方法的参数,并根据参数类型和名字从请求中获取对应的值。对于复杂类型的参数,如List或Map,Struts2提供了一种称为"OGNL表达式"的机制来处理数组和集合的映射。 例如,...
另一种方法是利用ActionContext来传递参数,ActionContext在Action执行的上下文中存储了请求和 session 的数据。你可以在Action中将参数放入ActionContext,然后在结果页面中通过HttpServletRequest对象获取: ```...
- Struts2会自动根据`Action.LOCALE_KEY`获取当前用户的Locale,并应用于国际化消息的显示。 #### 五、Action Mapping - **ActionMapping**:定义了Action的映射关系,包括Action的名称、方法等信息。 - 默认使用`...
具体来说,Struts2 会调用 Action 中与字段名称匹配的 setter 方法来设置参数值。例如,如果表单中有 `name` 字段,那么 Struts2 会调用 `setName(String name)` 方法来设置值。 这种情况下,字段名称和 setter ...
本篇文章将深入探讨Struts1.x和Struts2.x在向Action中填充JSP参数的原理。 Struts1.x的工作原理: Struts1的核心是ActionServlet,它是一个实现了Servlet接口的控制器。当用户发起HTTP请求时,请求会被Dispatcher...
5. **ValueStack**:Struts2使用ValueStack存储Action和其属性,以及其他可展示的值。通过OGNL(Object-Graph Navigation Language)表达式,可以从ValueStack中直接获取参数。 6. **Interceptor拦截器**:自定义...
本示例将详细讲解如何在Android应用中通过HTTP请求从Struts2 Action获取JSON格式的数据,并进行解析和处理。 首先,我们需要了解JSON(JavaScript Object Notation)的基本结构。JSON是一种数据格式,它基于...
以上就是Struts2中Action获取JSP页面参数的一些主要方法。在实际开发中,应根据具体需求选择合适的方式,以实现高效且易于维护的代码。理解并熟练运用这些技术,对于提升Web应用的开发效率和质量至关重要。
本教程将介绍如何使用IntelliJ IDEA和Struts2框架实现Action类接收参数的三种常见方式,这对于JavaWeb开发初学者来说是极其重要的基础知识。 首先,我们需要了解Struts2框架。Struts2是一个基于MVC(Model-View-...
Struts2的这种设计模式使得Action类更加清晰,每个方法都专注于处理一种特定的业务逻辑。此外,它还支持动态方法调用,这意味着Action类可以有多个方法,而无需在配置文件中显式列出它们,只需确保请求的URL与方法名...
动态方法调用是Struts2的一种强大功能,它允许根据不同的用户请求动态决定执行哪个Action方法。主要有以下两种方式: 1. **基于struts.xml配置**:在配置文件中,可以为每个action指定一个默认的方法,比如`<action...
在Struts2中,你可以直接在Action类中声明与表单字段相对应的属性,Struts2的自动数据绑定机制会将表单参数映射到这些属性。例如,如果表单有字段`name`和`email`,Action类可以如下所示: ```java public class ...
为Action的属性注入值是Struts2的一个关键特性,使得我们可以方便地从请求参数中获取数据并绑定到Action实例上,以便后续的业务处理。 这个特性主要依赖于Struts2的OGNL(Object-Graph Navigation Language)表达式...