struts2 Action获取表单传值
1.通过属性驱动式
JSP:
<form action="sys/login.action" method="post">
<input type="text" name="username">
<input type="submit" value="submit">
</form>
Action:直接通过get、set方法获取。
public class sysAction extends ActionSupport{
private String username;
public String login() throws Exception {
System.out.println(username);
return SUCCESS;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username= username;
}
}
2.模型驱动方式,必须要实现ModelDriven<T>接口。对于要传入多个model第二种方式不方便
JSP:
<form action="sys/login.action" method="post">
<input type="text" name="username">
<input type="submit" value="submit">
</form>
Action:必须实现getModel() 方法
public class sysAction extends ActionSupport implements ModelDriven<User>{
private User user;
public String login() throws Exception {
System.out.println(getModel().getUsername());
return SUCCESS;
}
public User getModel() {
if (null == user) {
return user = new User();
}
return user;
}
}
3.第三种方式可以完全不实现ModelDriven<T>,也可使用多个model对象的属性。
JSP:
<form action="sys/login.action" method="post">
<input type="text" name="user.username">
<input type="text" name="teacher.level">
<input type="submit" value="submit">
</form>
Action: 必须提供set方法
public class sysAction extends ActionSupport{
private User user;
private Teacher teacher;
public String login() throws Exception {
System.out.println(user.getUsername());
System.out.println(teacher.getLevel());
return SUCCESS;
}
public void setUser(User user) {
this.user = user;
}
public void setTeacher(Teacher teacher) {
this.teacher = teacher;
}
}
分享到:
相关推荐
6. **国际化与本地化**:学习如何在Struts2中实现多语言支持,提供全球化用户体验。 7. **Tiles布局**:结合Tiles插件,创建复用性强、结构化的页面布局。 8. **异常处理**:理解Struts2的异常处理机制,如何...
下面将详细介绍几种常见的JavaScript调用Struts Action的方法: - **通过修改URL来触发Action** ```javascript function formSubmit(url) { document.forms[0].action = url; document.forms[0].submit(); } ...
Struts2作为一个流行的Java Web框架,为解决表单重复提交提供了多种方法。 首先,关于表单重复提交的原因,有以下几点: 1. 服务器或网络延迟导致用户多次点击提交按钮。 2. 用户在表单提交后刷新浏览器页面。 ...
本文将深入探讨Struts2接收参数的几种主要方法,包括通过Action的属性、使用Domain Model(领域模型)以及采用DTO(数据传输对象)进行参数接收。 ### 一、使用Action的属性接收参数 #### 原理 在Struts2框架中,...
在Struts2中,JavaScript可以用来发起Ajax请求,动态调用后台Action的方法。例如,我们可以使用jQuery的`$.ajax`或`$.post`方法,配合Struts2的ActionContext,将请求参数传递给服务器。在服务器端,Struts2会解析...
### Struts2 接受参数的几种方式 #### 第一种方式:直接在 Action 中设置变量 这种方式是最直接的参数接收方式。当从前端传递参数到后端时,我们需要确保 Action 类中有与这些参数名称相匹配的变量。例如,如果...
此外,Struts2还提供了动态方法调用的机制,允许你在一个Action类中定义多种处理方式,而无需为每一种处理方式单独定义Action方法。通过在action标签中指定method属性可以实现动态方法调用。 以上内容介绍了Struts2...
在对应的Action类中,我们需要一个名为`myParam`的属性,Struts2会自动将表单数据绑定到这个属性: ```java public class MyAction extends ActionSupport { private String myParam; // Getter and Setter ...
验证规则可以包括但不限于以下几种: - 必填字段检查 - 长度限制 - 数据类型检查(如整数、日期、邮箱地址等) - 自定义逻辑验证 如果验证失败,Struts会将错误信息添加到ActionContext,然后在JSP页面中显示...
在Struts2中,OGNL用于传递Action与视图之间的数据,以及在拦截器中进行表达式计算。 4. **struts2-convention-plugin.jar**:这是Struts2的约定优于配置插件,它简化了Action类和结果配置,使得开发者可以按照一定...
### Struts2 传值方式详解 在Struts2框架中,实现前后台的数据传递是...通过上述三种方式,我们可以灵活地在Struts2中实现前后端之间的数据传递。每种方式都有其适用场景,开发者可以根据实际需求选择最合适的方法。
1. **Action**:在Struts2中,Action是业务逻辑的载体,负责处理用户请求。Action类通常会与Service层交互,完成特定的业务功能。 2. **配置**:Struts2的配置分为XML配置和注解配置两种方式。XML配置文件(struts....
在Struts2中实现AJAX,主要涉及以下几个关键点: 1. **Struts2 Action和Result**:首先,你需要创建一个Struts2 Action类,它将处理客户端发送的请求。这个Action类中定义的方法对应于用户触发的操作,并返回一个...
1. **Action类**:在Struts2中,Action类是业务逻辑的主要载体。你需要创建一个Action类,该类通常会继承自`org.struts2.dispatcher.ng.ExecuteAction`或`com.opensymphony.xwork2.ActionSupport`,并实现相应的业务...
1. **Action类**:在Struts2中,Action类是业务逻辑的载体,通常继承自`org.struts2.StrutsAction`或实现`com.opensymphony.xwork2.Action`接口。在这个DEMO中,你会看到一个名为`LoginAction`的类,它负责处理用户...
ValueStack是Struts2中用于管理Action实例和模型对象的栈结构。通过Ognl(Object-Graph Navigation Language)表达式,我们可以直接在JSP页面中访问ValueStack中的任何对象和属性。例如,`...
下面将详细解析几种不同类型的Action跳转方式。 ### 1. 基本Action 基本Action定义了路径、类型、表单、输入和转发等属性。例如: ```xml <action path="/aFullAction" type="somePackage.someActionClass"> ...
根据以上流程,我们可以更深入地理解以下几种常见的Action跳转场景: 1. **Action跳转全解** ```xml <action path="/aFullAction" type="somePackage.someActionClass"> name="someForm" input="someJSP.jsp" ...
#### Action获取表单提交数据 1. **使用ActionContext类**: 可以通过`ActionContext.getContext().getParameters()`获取表单数据。 2. **使用servletActionContext类**: 提供了一种更简单的方法来访问...
OGNL是Struts2中用于表示对象和数据的表达式语言,用于在Action与视图之间传递数据。 11. **Struts2的异常处理**: 可以通过配置全局异常处理类或在Action类中定义特定的异常处理方法,实现对错误的统一管理。 ...