活动介绍
file-type

Struts2.0 Action详解:从Struts1.x到Struts2.0的变化

下载需积分: 9 | 341KB | 更新于2024-09-20 | 174 浏览量 | 0 下载量 举报 收藏
download 立即下载
"这篇学习笔记主要探讨了Struts2框架的核心概念,特别是与Struts1.x相比,Struts2.0在Action模型上的变化。笔记中提到了在Struts1.x中,Action需要继承特定的接口,而在Struts2.0中则不再有此限制,但通常我们会选择继承ActionSupport类来实现功能。此外,还展示了如何在Struts2中创建一个简单的HelloWorld示例,包括JSP页面和Action类的代码片段。" 在Struts2框架的学习中,了解Action的角色至关重要。Action是业务逻辑处理的主要组件,它负责接收用户请求、处理数据并返回结果到视图层。与Struts1.x相比,Struts2的Action设计更为灵活。在Struts1.x中,Action类需要直接或间接地继承自`org.apache.struts.action.Action`接口,而Struts2.0则打破了这一限制,允许Action类不需继承任何特定类或实现特定接口。这样做的好处是提高了代码的可复用性和可扩展性。 然而,在实际开发中,为了利用Struts2提供的便利功能,如国际化、数据校验等,我们往往会选择继承`com.opensymphony.xwork2.ActionSupport`类。这个类提供了默认的错误处理和结果返回机制,我们只需要重写`execute()`方法来定义我们的业务逻辑。 例如,给出的HelloWorld示例中,Action类`HelloWorld`继承了`ActionSupport`。在`execute()`方法内,我们设置了消息变量`message`的值为"HelloWorld"。这个`message`属性可以通过getter方法`getMessage()`获取。在对应的JSP页面中,使用Struts2标签库的`s:property`标签显示这个消息。 ```java public class HelloWorld extends ActionSupport { private String message; public String getMessage() { return message; } @Override public String execute() { message = "HelloWorld"; return "success"; // 指定返回的结果代码,对应struts.xml配置的result节点 } } ``` 在JSP页面`HelloWorld.jsp`中,`<s:property value="message"/>`标签会显示Action中的`message`属性值: ```jsp <h2><s:property value="message"/></h2> ``` 这个简单的例子展示了Struts2中Action的基本用法,以及如何在Action和视图之间传递数据。通过这种方式,开发者可以构建更复杂的业务逻辑,同时保持MVC架构的清晰分离。在深入学习Struts2时,还需要了解配置文件(struts.xml)的使用、拦截器(Interceptors)的概念、结果类型(Result Types)以及如何处理表单数据和异常等。

相关推荐

filetype
内容概要:本文档定义了一个名为 `xxx_SCustSuplier_info` 的视图,用于整合和展示客户(Customer)和供应商(Supplier)的相关信息。视图通过连接多个表来获取组织单位、客户账户、站点使用、位置、财务代码组合等数据。对于客户部分,视图选择了与账单相关的记录,并提取了账单客户ID、账单站点ID、客户名称、账户名称、站点代码、状态、付款条款等信息;对于供应商部分,视图选择了有效的供应商及其站点信息,包括供应商ID、供应商名称、供应商编号、状态、付款条款、财务代码组合等。视图还通过外连接确保即使某些字段为空也能显示相关信息。 适合人群:熟悉Oracle ERP系统,尤其是应付账款(AP)和应收账款(AR)模块的数据库管理员或开发人员;需要查询和管理客户及供应商信息的业务分析师。 使用场景及目标:① 数据库管理员可以通过此视图快速查询客户和供应商的基本信息,包括账单信息、财务代码组合等;② 开发人员可以利用此视图进行报表开发或数据迁移;③ 业务分析师可以使用此视图进行数据分析,如信用评估、付款周期分析等。 阅读建议:由于该视图涉及多个表的复杂连接,建议读者先熟悉各个表的结构和关系,特别是 `hz_parties`、`hz_cust_accounts`、`ap_suppliers` 等核心表。此外,注意视图中使用的外连接(如 `gl_code_combinations_kfv` 表的连接),这可能会影响查询结果的完整性。
装饭的桶
  • 粉丝: 1
上传资源 快速赚钱