Struts2为Action中的属性提供了依赖注入功能,在struts2的配置文件中,我们可以很方便地为Action中的属性注入值。注意:属性必须提供setter方法。下面举例说明:
配置文件如下:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <package name="struts" namespace="/test" extends="struts-default"> <action name="inject" class="com.struts.action.InjectValueForActionParam" method="execute"> <param name="message">测试值</param> <result name="success">/WEB-INF/pages/injectValueForActionParam.jsp</result> </action> </package> </struts>
上面通过<param>节点为action的message属性注入“测试值”
下面是action:
package com.struts.action; public class InjectValueForActionParam { private String message; public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public String execute() { return "success"; } }
injectValueForActionParam.jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>为Action的属性注入值</title> </head> <body> 注入值为:${message } </body> </html>
部署项目到服务器,页面显示:注入值为:测试值
相关推荐
4. **Spring 的Bean 定义**:在Spring 配置文件中,我们可以为Struts 2 的Action 定义bean,包括其属性、依赖关系以及生命周期方法。这使得Action 的配置更加集中,易于管理和扩展。 5. **Action 实例的生命周期**...
综上所述,Struts2-core-2.0.12.jar包含了Struts2框架的核心功能,为Java Web开发者提供了高效、灵活的工具来构建和管理Web应用。尽管这是一个较旧的版本,但它仍然是理解Struts2工作原理和MVC设计模式的重要参考。...
除了Action类,Struts2 Spring Plugin还允许我们在拦截器、结果类型和其他Struts2组件中使用Spring注入。这大大增强了Struts2的应用能力,简化了复杂应用的构建过程。 压缩包中的其他文件如"msbase.jar"、...
Struts2是一个非常著名的Java Web框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了构建可维护性、可扩展性极强的Web应用的强大工具。在"struts2-blank-2.0.14"版本中,`lib`目录下的jar包是整个...
1. **Action类**:这些类通常会继承自`org.struts2.StrutsAction`或实现`com.opensymphony.xwork2.Action`接口。Action类定义了业务逻辑,比如用户登录、注册等操作。 2. **配置文件**:主要指`struts.xml`,这是...
使用Struts2 JSON插件时,需要注意JSON/XML注入的安全风险。攻击者可能尝试通过构造恶意输入来操纵JSON响应,因此确保对用户输入进行适当验证和过滤至关重要。 6. **性能优化**: - 对于大型应用,可以通过调整...
总的来说,"struts2-core-2.3.32"和"xwork-core-2.3.32"这两个库构成了Struts2框架的核心,为Java Web开发者提供了强大的功能,同时也关注应用的安全性,是构建高效、稳定、安全的企业级应用的重要工具。在使用时,...
5. **参数注入**:通过注解,开发者可以在Action类的属性上使用`@Inject`或`@Param`来注入请求参数,简化了对象的初始化。 6. **拦截器**:虽然拦截器的配置不再像`struts.xml`中那样明确,但框架依然可以根据类或...
5. **struts2-spring-plugin.jar**:如果项目使用Spring框架管理bean,此插件将使Struts 2与Spring无缝集成,方便地实现依赖注入和事务管理。 6. **ognl.jar**:Object-Graph Navigation Language,用于Struts 2中...
- `ognl.jar`:Object-Graph Navigation Language,用于表达式语言,处理Action属性到视图的绑定。 - `freemarker.jar`:Freemarker模板引擎,用于生成动态HTML或其他格式的输出。 - `xwork-core.jar`:Struts2的...
1. **struts2-core.jar**:这是Struts 2框架的核心库,包含了Action、Result、Interceptor等核心组件,以及配置解析和插件管理等功能。 2. **xwork-core.jar**:XWork是Struts 2的基础,提供了类型转换、验证、事件...
7. **类型转换**:Struts2提供了自动类型转换机制,能够将HTTP请求参数自动转换为Action类的属性。 8. **异常处理**:Struts2提供了一套全面的异常处理机制,能够优雅地处理运行时异常并生成相应的错误页面。 在...
ValueStack则是存储Action属性和OGNL表达式之间交互的对象容器。 Struts 2的配置主要通过struts.xml文件完成,它可以配置Action、Result、Interceptor及其组合,定义URL到Action的映射,以及Action的输入和输出等。...
2. **配置文件**:Struts2的配置文件(通常为struts.xml)定义了Action类与URL之间的映射,以及结果页面的跳转规则。此外,还可以配置拦截器、异常处理等。 3. **Interceptor(拦截器)**:拦截器是Struts2的一个...
- Action类可以使用Struts2的注解简化配置,如`@Result`定义结果视图,`@Action`定义Action的基本属性。 5. **表单和参数传递** - 用户输入通常通过HTML表单提交,表单元素的name属性对应Action类中的属性。...
- `struts2-config.xml`: 默认的配置文件,可以在这里配置全局属性、拦截器栈、Action和Result等。 - `webapp`: 示例应用目录,包含示例Action、JSP页面和Web应用部署描述符(web.xml)。 - `lib`: 所需的第三方库,...
例如,`PrepareInterceptor`负责初始化Action属性,`ParamsInterceptor`处理请求参数注入,`ValidationInterceptor`执行字段验证等。 4. **表达式语言(OGNL)**:Struts2使用OGNL(Object-Graph Navigation ...
- 将Action类设计为无状态的,避免使用静态属性。 - 使用基于注解的配置,减少XML配置文件的数量。 - 采用Maven或Gradle等构建工具管理依赖,确保所有库版本的兼容性。 这个压缩包提供的所有库文件是构建和运行...
7. **依赖注入**:Struts2支持依赖注入(DI),允许Action类通过接口获取服务,而非直接实例化依赖对象。这有助于实现松耦合,提高测试和维护的便利性。 8. **异常处理**:Struts2提供了一套完整的异常处理机制,...