一. 动态方法调用
一个Action包含多个业务处理功能,根据用户请求表单的不同,调用不同的方法,与struts1的DispatchAction相似.
首先要设置:
struts.enable.DynamicMethodInvocation=true 设置支持动态方法调用,默认为true,可以不用设
Action与配置不变:
public class LogonAction {
private String userName;
private String userPwd;
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getUserPwd() {
return userPwd;
}
public void setUserPwd(String userPwd) {
this.userPwd = userPwd;
}
public String login() throws Exception{
return "succee";
}
}
Action配置
<action name="logon" class="com.LogonAction">
<result name="succee">/logon/welcome.jsp</result>
<result name="input">/logon/logon.jsp</result>
</action>
<form action="logon!login.action" method="post">
Logon!logon.action:意思是提交表单给 logon.action的login()方法来处理
二 使用通配符
1.<action name="user*" class="com.UserAction" method="{1}">
<result name="succee">/logon/welcome.jsp</result>
<result name="input">/logon/logon.jsp</result>
</action>
比如当用户请求userLogon时,会被UserAction类处理,method{1}中{1}值为name属性中第一个*的值.
2.
<action name="*Action_*" class="com.{1}" method="{2}">
<result name="succee">/logon/welcome.jsp</result>
<result name="input">/logon/logon.jsp</result>
</action>
当用户请求UserAction_logon时,会被UserAction类的logon方法处理
与上面一样,class中{1}的值为name属性中第一个*的值,也就是UserAction,{2}的值为name属性中第二个*的值,即为logon
三.跟据请求参数觉定结果
<action name="logon" class="com.LogonAction">
<result name="succee" type="redirect">/logon/welcome.jsp?userName=${userName}</result>
<result name="input">/logon/logon.jsp</result>
</action>
Welcome.jsp
<body>
request.getParamter:<%=request.getParameter("userName") %>
</body>
${属性名} 就是action中的属性值.
在welcome.jsp中可以通过request.getparamter得到userName的值
分享到:
相关推荐
- **定义**:Action类是Struts 2中的核心组件之一,它负责处理用户的请求并将数据传递给视图层。 - **特点**:Action类可以使用注解或XML配置文件进行配置,这为开发人员提供了极大的灵活性。通过实现`Action`接口...
Struts2 中 Action 接收参数的方法 Struts2 框架中,Action 组件可以通过多种方式接收参数,这些方式包括使用 Action 的属性、使用 DomainModel 和使用 ModelDriven。下面将详细介绍这些方法: 使用 Action 的属性...
- **Action**:在Struts2中,Action是业务逻辑的载体,负责处理用户请求并返回结果。每个Action对应一个特定的用户操作。 - **Result**:Action执行完毕后,会返回一个Result,定义了页面跳转或数据呈现的方式。 ...
6. **国际化与本地化**:学习如何在Struts2中实现多语言支持,提供全球化用户体验。 7. **Tiles布局**:结合Tiles插件,创建复用性强、结构化的页面布局。 8. **异常处理**:理解Struts2的异常处理机制,如何...
这篇名为“Struts2 使用action属性接收中文参数(post提交)”的博文可能讲述了如何在Struts2框架中正确处理中文POST请求。在处理中文参数时,主要涉及以下几个关键知识点: 1. **字符编码设置**: - 请求编码:...
- **定义**:在Struts2框架中,**Action** 是用来处理客户端请求的核心类。当用户通过浏览器发送请求时,Struts2会将请求转发给相应的Action处理。 - **执行流程**: - 用户发起HTTP请求。 - 请求被Struts2的前端...
根据提供的信息,我们可以推断出这是一本关于Struts 2框架的书籍——《Struts 2实战 Struts 2 in action 的中文版》。本书主要介绍了Struts 2框架的相关概念、工作原理以及实际应用案例等内容。接下来,我们将根据...
在 Struts2 中使用 `redirect-action` 来实现 Action 之间的跳转是一种常见的做法,特别是在需要按顺序执行多个 Action 的业务场景中。通过这种方式,不仅可以保持应用程序的良好结构,还能有效地组织业务流程。同时...
1. **Action类**:在Struts2中,Action类是业务逻辑的核心,它接收用户请求,执行相关操作,并返回结果。Action类可以被配置在struts.xml文件中,指定其对应的URL和返回的结果类型。 2. **拦截器(Interceptors)**...
在Struts2中,Action充当控制器的角色,它接收并处理请求,然后根据业务逻辑决定返回哪个视图。 ### Struts2的架构组件 Struts2框架的架构主要由以下几个关键组件构成: 1. **Action**:这是Struts2中最核心的...
struts2 in action 源码
本文档将详细介绍如何在Struts 2中实现Action动态方法调用,并通过实例演示其具体应用。 #### 二、基础知识回顾 在开始深入探讨动态方法调用之前,让我们先回顾一下Struts 2框架的基本概念。 1. **Action**: 在...
总的来说,《Struts2 in Action》中文版是Java Web开发者必备的参考书籍之一,它不仅提供了全面的技术解析,还强调了实际开发中的问题解决和性能优化。通过学习这本书,开发者可以提升自己在Struts2框架上的专业技能...
在Struts2的工作机制中,Action是核心概念,它是业务逻辑的载体,负责处理用户请求。Action的命名空间在配置文件中定义,用于区分不同功能的Action,避免URL冲突。Action的命名空间与Servlet API相结合,可以帮助...
struts2中的国际化 struts2转化器 struts2实现表单数据校验 struts2的基石-拦截器 struts2中实现IOC struts2中实现文件上传 struts2中实现CRUD struts2中的OGNL struts2的新表单标志的使用 struts2与AJAX一 struts2...
如果你想自学struts2,此文档是很好的自学宝典,经典struts2 in Action,能帮你建立整体的struts2思想,你还在犹豫什么
1. **Action和结果**: Action是Struts2框架中处理用户请求的核心组件,它封装了业务逻辑。结果则定义了Action执行后的跳转目标,可以是另一个Action、JSP页面或者其他资源。 2. **配置文件**: Struts2的配置主要...
Struts2.0是Java Web开发中的一个框架,它的核心组件是Action,它负责处理用户的请求并进行业务逻辑处理。相较于Struts 1.x,Struts 2.0的Action模型有着显著的区别。 在Struts 1.x中,Action类需要继承`org.apache...
首先,Action配置是Struts2中定义业务逻辑入口的关键,它将HTTP请求映射到特定的Java类方法上。在`struts.xml`中,一个Action配置通常由`<action>`元素定义,包含了多个属性,如`name`、`class`、`method`等。 `...