Spring如何给Struts生成新action对象?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Spring如何给Struts生成新action对象?

2016-03-03 13:18:38 1969 0

Spring3.2.12
Struts2.3.20
看struts代码:

@Component
@Scope(ConfigurableBeanFactory.SCOPE_SINGLETON)
@ParentPackage("struts-default")
@Namespace("/test")
public class TestAction {

    private String flag;

    @Action(value = "testAction", results = { @Result(name = "success", location = "/index.jsp") })
    public String test() {
        System.out.println("request struts.");
        try {
            WebApplicationContext context = WebApplicationContextUtils
                    .getWebApplicationContext(ServletActionContext.getServletContext());
            TestAction test = context.getBean("testAction", TestAction.class);
            System.out.println("this:" + this.flag+"\t" + this);
            System.out.println("spring:" + test.flag+"\t" + test);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return "success";
    }

    @PostConstruct
    public void setFlag() {
        this.flag = "From Spring";
    }

运行结果:

 request struts.
this:From Spring    toString:com.me.permission.action.TestAction@732efcfe
spring:From Spring  toString:com.me.permission.action.TestAction@2140243b
request struts.
this:From Spring    toString:com.me.permission.action.TestAction@11e3c2c6
spring:From Spring  toString:com.me.permission.action.TestAction@2140243b
request struts.
this:From Spring    toString:com.me.permission.action.TestAction@521d590d
spring:From Spring  toString:com.me.permission.action.TestAction@2140243b

运行结果 说明,spring中持有一个TestAction的对象,而且是单例;
请求action的时候,是spring给struts生成的action,但是每一次都是新的,并不是spring所持有的那个单例,这是为什么哪?
怎么才能让spring所持有的那个单例,给struts哪?让struts每次请求都使用spring中所持有的那个单例。

取消 提交回答
全部回答(0)
相关问答

1

回答

Spring如何给Struts生成新action对象

2016-03-03 13:19:50 1671浏览量 回答数 1

1

回答

Spring Boot 可以兼容老 Spring 项目吗?

2021-11-03 00:09:39 349浏览量 回答数 1

1

回答

Spring Boot 的核心注解由哪几个注解组成的?

2021-10-24 16:26:22 302浏览量 回答数 1

1

回答

Spring Boot 默认配置文件是什么?

2021-10-21 22:12:27 263浏览量 回答数 1

1

回答

如何打包 Spring Boot 项目?

2021-10-21 21:50:02 192浏览量 回答数 1

1

回答

Spring Boot 的核心注解是哪个?

2021-10-21 22:19:31 129浏览量 回答数 1

1

回答

spring boot启动报错org.springframework.beans?400报错

2020-06-06 15:38:17 917浏览量 回答数 1

1

回答

关于Spring Boot的注解@Mapper和@MapperScan?报错

2020-06-05 14:59:29 1664浏览量 回答数 1

1

回答

Spring Boot 的配置文件有哪几种格式?它们有什么区别?

2019-11-18 15:02:40 1402浏览量 回答数 1

2

回答

Spring Boot 启动zuul的时候是不是必须要使用到eureka?

2019-06-24 13:11:50 4171浏览量 回答数 2
2709
文章
6591
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载