spring2.08 webwork2.24
注入Action中的service出现问题,注入的service,和引用的service不是同一个对象。
无论是不是singleton都出现execute方法里面引用的service为null,声明为singleton="true"时初始化时setter方法里的service有效。
或者把service声明为static的也没问题。
Action
Java代码 收藏代码
public class SystemAction extends ActionSupport implements ModelDriven{
SystemModel sm = new SystemModel();
private SystemService systemService;
public String execute() throws Exception {
System.out.println("in execute systemservice is "+systemService);
systemService.TestSystemDAO();
return SUCCESS;
}
..setter..省略
Action的注入
Java代码 收藏代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="systemAction" class="net.xx.control.action.SystemAction" singleton="false">
<property name="systemService">
<ref bean="userService"/>
</property>
</bean>
</beans>
xwork.xml
Java代码 收藏代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<include file="webwork-default.xml" />
<package name="default" extends="webwork-default">
<interceptors>
<interceptor-stack name="modelParamsStack">
<interceptor-ref name="params" />
<interceptor-ref name="model-driven"/>
</interceptor-stack>
</interceptors>
</package>
<include file="net\xx\control\config\webwork-user.xml"/>
</xwork>
webwork-user.xml
Java代码 收藏代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE xwork PUBLIC "-//OpenSymphony Group//XWork 1.0//EN" "http://www.opensymphony.com/xwork/xwork-1.0.dtd">
<xwork>
<package name="login" extends="webwork-default" namespace="/user">
<action name="login" class="net.xx.control.action.SystemAction">
<result name="success" type="dispatcher">
<param name="location">/index.jsp</param>
</result>
<result name="error" type="dispatcher">
<param name="location">/login.jsp</param>
</result>
<interceptor-ref name="modelParamsStack"/>
</action>
</package>
</xwork>
web.xml
Java代码 收藏代码
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<servlet>
<servlet-name>webwork</servlet-name>
<servlet-class>
com.opensymphony.webwork.dispatcher.ServletDispatcher
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>webwork</servlet-name>
<url-pattern>*.action</url-pattern>
</servlet-mapping>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext*.xml</param-value>
</context-param>
<filter>
<filter-name>openSessionInViewFilter</filter-name>
<filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>openSessionInViewFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
</web-app>
在javae也搜索到类似的问题,但。。还是没解决
http://www.iteye.com/post/139291
解决了
原来默认的是根据name来注入action的service
在webwork.properties
声明一下,就行了。。。吐血。。。
webwork.objectFactory.spring.autoWire = type
分享到:
相关推荐
* action 行动 * arithmetic 算法 * adjustment 调整 * actual 真实的 * argument 参量 * abstract 抽象 * ascent 提升 * already 已经 这些英语单词都是 Java 语言中常用的数组相关单词,了解这些单词可以帮助...
Struts1和Struts2各有优缺点,转换过程中需要解决兼容性问题,比如Action的处理、拦截器(Interceptor)的差异以及视图层的适配。同时,这个过程也可能是为了维护旧系统的稳定或适应特定项目需求。 3. Flash上传...
在本视频教程“黑马程序员_毕向东_Java基础视频教程第22天-06-GUI(Action事件)”中,讲师毕向东深入讲解了Java GUI中的Action事件处理机制,这是构建用户友好界面的关键部分。 首先,我们要理解什么是GUI。GUI,...
它通过Action类处理用户的请求,支持拦截器、验证等特性。熟悉Struts2框架有助于快速构建健壮的Web应用。 #### AOP(面向切面编程) AOP是一种编程范式,用于将横切关注点(如日志记录、事务管理等)从业务逻辑中...
19_黑马程序员_struts2.1视频教程_对Action中所有方法进行输入校验.rar和22_黑马程序员_struts2.1视频教程_基于XML配置方式实现对action的所有方法进行校验.rar这两部分将详细介绍Struts2的验证机制。无论是基于注解...
9. action: 动作,指用户与系统交互时执行的操作。 10. activate: 激活,使某功能或进程开始执行。 11. active: 活动的,形容某个进程或状态处于运行中。 12. actualparameter: 实参,函数调用时传递给函数的实际值...
这个“黑马程序员SSM整合学习项目demo”是一个实践性的学习资源,通过它,你可以深入了解SSM框架的整合过程,提升Java Web开发能力。在实际项目中,SSM框架的整合可以大大提高开发效率,同时提供良好的可维护性和...
【iBATIS In Action:iBATIS的安装和配置】 iBATIS,作为一个知名的持久层框架,其安装和配置过程相对简洁,对于熟悉C#和ADO.NET的开发者来说,理解并应用这个框架是进一步提升开发效率的关键。iBATIS并非一个独立...
此外,可能还有关于Spring框架的《Spring in Action》和深入理解JVM的《深入理解Java虚拟机》等。 下载说明.txt文件可能提供了获取和使用这些书籍的具体步骤和注意事项,包括电子版的获取途径、版权问题、阅读软件...
程序员必备的 600 个英语词汇(1) 对于时刻需要和国际接轨的码农们,英语的重要性是毋庸置疑的。尤其是那些胸怀大志的潜 在大牛 们,想在码农行业闯出一片天地,秒杀身边的小弟们,熟练掌握英语更是实现其目标最关键 的...
- 学习Action类的设计模式,了解拦截器、配置文件等组件的作用。 - 实现基于Struts2的用户登录注册系统。 #### 6. 3G手机Android应用开发—核心基础 - **知识点概述**:此部分涵盖了Android开发的基础知识,适合...
"黑马程序员"是一家知名的编程教育机构,他们提供的Struts2框架教程资料旨在帮助开发者深入理解和掌握这一技术。 Struts2的核心特性包括: 1. **Action类**:它是业务逻辑处理的主要载体,继承自`ActionSupport`类...
- **《Spring in Action》** 星级:★★★★☆ 适合对象:初级,中级,高级 Spring框架是现代Java应用程序的核心组成部分,本书通过丰富的实例,详细介绍了Spring的核心功能和最佳实践。 - **《精通Spring2.x...
总结起来,"黑马程序员Struts2人员管理系统"项目涵盖了Struts2框架的基础知识,包括MVC模式的理解、Action的编写、拦截器的使用、数据库操作、JSP页面设计等。通过实际操作,开发者不仅可以提升技能,还能更好地理解...
数组(array)、苹果(apple)、增加(add)、可存取的(accessible)、面积(area)、音频(audio)、加法(addition)、行动(action)、算法(arithmetic)、调整(adjustment)、真实的(actual)、参数...
Struts是MVC架构的一种实现,考察对Action、Form Bean、配置文件的理解及实际应用。 3. **23kings_OOAD.doc**: OOAD(面向对象分析与设计)是软件开发的核心,面试者需熟练掌握UML图(类图、序列图、用例图等)、...
- Struts框架的五个主要类包括ActionForm、ActionMapping、ActionServlet、Action和ActionForward,其中ActionServlet是MVC中的Controller。 3. Java编程: - Test类的构造器和静态初始化块顺序:`a`(静态初始化...
JavaScript获取网页表单的action属性是一种常用的操作,通常用于获取表单提交时要发送到的URL地址。...action属性指定了表单提交后...理解并熟练运用这些JavaScript操作表单的技巧,对于进行Web开发的程序员来说至关重要。
黑马程序员的笔记中可能包含了如何创建一个简单的Struts2应用,从HelloWorld实例到实际的表单提交、文件上传下载等实战案例,帮助初学者快速掌握Struts2的基本用法。 通过学习这些笔记,开发者将能够理解Struts2的...