问题标签 [struts2-spring-plugin]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3554 浏览

spring - 我们可以将 Struts 2.0 与 Spring 3.0 + 集成吗?

我是 Struts 的新手。我们可以将 Struts 2.0 与 Spring 3.0 + 集成吗?我听到人们说“无法整合它”。这是真的 。

如果是这样,网络上是否有任何教程有示例?

编辑 :

有一个插件可以集成 Struts 2 和 Spring 2 (struts2-spring-plugin-2.0.11.2.jar)。Struts 2 和 Spring 3 有类似的吗

0 投票
3 回答
3427 浏览

spring - 禁用弹簧自动装配

我有一个带有 struts2.2 和 spring 3.1 的应用程序,我想禁用 spring autowire。我用谷歌搜索了一下,发现我必须放在<beans>tab default-autowire="no",但这似乎不起作用。

然后我发现我可以为这样的每个<bean>标签声明这个 : <bean autowire="no">,但这似乎也不起作用。

当我启用弹簧调试记录器时,我可以看到很多这样的消息:

信息:调试 [http-thread-pool-8080(3)] (ConstructorResolver.java:739) - 通过构造函数从 bean 名称“com.common.actions.PopupAction”按类型自动装配到名为“intermedService”的 bean

applicationConfig.xml 中的相应条目是:

只要我在这里手动定义了依赖项并且我定义了,为什么spring会尝试自动连接这个动作auto-wire="no"

或者此消息告诉我,接线是通过构造函数按类型进行的(如我所愿),“按类型自动装配”意味着从 4 个参数中,他将 intermedService 与我的变量中间服务按类型匹配(而不是按顺序或其他) ?

0 投票
1 回答
942 浏览

struts2 - Struts2严重的安全问题?

我正在使用 struts2、hibernate 和 spring 并使用模型驱动模式。尝试同时准确地获取具有 2 个不同用户和会话(也是不同计算机)的对象时,似乎存在一个严重的问题。

更多信息...假设我们有一个 Project 对象,它有 2 个成员 - 用户和名称。两个用户都将尝试获取他们的项目对象(当然,对于不同的用户来说,这是一个不同的对象)。因此,用户 A 将拥有一个 ID 为 498 的项目,而用户 B 将拥有一个 ID 为 499 的项目。

struts 操作将识别出他们正在尝试获取具有不同 ID 的对象,但似乎两个用户都具有相同的 Project 对象实例,因此他们看到相同的结果。您可以在此处提供的日志中看到:

2011-12-08 14:07:21 LoginInterceptor [INFO] 用户 17 正在调用 populateProject,参数:id=499 2011-12-08 14:07:21 LoginInterceptor [INFO] 用户 4 正在调用 populateProject,参数:id=498 2011-12-08 14:07:21 ProjectAction [INFO] Obj:hbn.Project@e2df60d,会话用户 ID 为 17,obj.user.id 为 4 2011-12-08 14:07:21 ProjectAction [INFO] Obj : hbn.Project@e2df60d, Session User Id 为 4, obj.user.id 为 4

我该如何解决?

谢谢,罗恩。

0 投票
1 回答
1358 浏览

spring - 将 Struts2-Rest-Plugin 与 Spring 一起使用

我开始在我们的 Spring 应用程序中使用 Struts2 Rest 插件。让我们从我们的struts.xml开始:

然后在 Spring 中,我正在执行以下操作(查看是否注入了 String):

POST向 URL 发出请求/documents并以方法结束create(),太好了!在调试中,我的injected变量被注入。但是当我让调试继续时,我得到以下异常:

但是已经找到了班级..(我最终进入了create),为什么会这样说?最重要的是,我做错了什么?

我正在使用 Spring v3.0.5、struts2-rest-plugin v2.3.1、struts2-core v2.3.1 和 struts2-spring-plugin 2.3.1

0 投票
0 回答
788 浏览

spring - struts2 - 没有 struts2-spring 插件的 spring 集成

我想知道如何在 不使用 struts-spring 插件的情况下将spring bean( PersonService)对象分配给setPersonService方法,当我尝试跟踪动作类方法(setPersonService)时,我得到了JdkDynamicAopProxy关键字。但我对JdkDynamicAopProxy没有任何想法

Struts 动作

Struts 配置

春豆

弹簧配置

0 投票
1 回答
993 浏览

spring - Struts2+Spring集成

尝试使用 Maven 在我的应用程序中集成 Struts2 和 Spring。我已将所有依赖项放在与 Spring-web、Spring、Struts2-spring 插件相关的 Pom 文件中

我在 Web.xml 文件中包含以下内容,

当我使用 Maven 运行时生成战争文件并且当我在我的服务器(glassfish)中部署我的战争文件时,错误消息显示如下

所以任何人都请帮我解决这个问题。

0 投票
1 回答
5160 浏览

spring - 调试 java.lang.IncompatibleClassChangeError:实现类错误(Spring/Hibernate/Struts)

我最近开始尝试升级一些已经过时几年的 Struts2/Spring/Hibernate 应用程序的依赖项——主要是为了尝试使用 @Enumerated 注释。POM 一路走来越来越干净,这是一个很好的副作用

所有代码编译并且单元测试通过,但是服务器不会以

“引起:java.lang.IncompatibleClassChangeError:实现类”

错误信息。

我已经关注了几个讨论跟踪依赖项中的版本不匹配的线程——人们似乎经常得到两个版本的hibernate。我不认为我有这个问题:

起初我认为 3.2.0.Final 引用是原因,但进一步的研究使它听起来像它只是一个空的占位符工件,为了遗留问题。

但是,我认为我的 spring 依赖项是问题所在,但我不确定要修复什么,或者我是否正在查看另一个红鲱鱼:

所以我想我看到了两个可能的问题

  1. struts2-spring-plugin 正在引入旧版本的 spring——但是到目前为止我发现的每个 web 资源都说 struts2-spring-plugin 应该与新版本的 spring 一起工作。我在这里做错了吗?我还没有找到其他更新版本的插件可以尝试。

  2. 我不得不切换到 ERB spring 存储库才能找到新版本的 spring,所以 artifactIds 在两者之间不匹配——直接的 spring 依赖项是 org.springframework:org.springframe.{component} 而间接是 org.springframework:spring-{component}。这是一个问题吗?我尝试在 ERB spring 存储库中查找 struts2-spring-plugin,但他们没有托管它,所以我怀疑我能否找到与 artifactId 命名方案匹配的版本。

接下来我将列出 pom 的完整依赖部分,以防上述两个都是红鲱鱼。我应该使用其他工具/调查来找出问题吗?谢谢你。

0 投票
1 回答
2197 浏览

struts2 - Struts 2 将表单提交给一个对象

我有类似的东西:

在 jsp 上:

不幸的是,当我提交此表单时,仅设置了 Model 类中的 1 个字段。我调试代码并发现实际上为两个字段(field1 和 field2)调用了 setter,但是为 Model 类的不同实例调用了 setter。

所以看起来,它在提交表单时执行后续步骤:

  1. 创建Model类的新实例(instance1),在Action类中设置这个实例
  2. 将 field1 设置为 instance1
  3. 创建Model类的新实例(instance2),在Action类中设置这个实例
  4. 将 field2 设置为 instance2

因此,正如我所见,instance2 替换了 instance1。我需要在 Model 类的一个实例中使用 field1 和 field2。需要修改什么?

依赖列表:

0 投票
0 回答
937 浏览

spring - struts2 spring 插件 - 它抱怨找不到 WebApplicationContext 的 getBean()

我正在使用Struts 2.2.3.1Struts2-spring plugin 2.2.3.1。依赖注入工作正常,但我对ApplicationContext'getBean方法的使用破坏了:

Spring 3.0.6这就是我过去使用(AdminService是在 中声明的 bean )将依赖项注入我的 Struts 项目的方式applicationContext.xml。但是现在,随着这个插件的添加,它给出了以下错误:

找不到符号符号:方法getBean(java.lang.Class)位置:接口org.springframework.web.context.WebApplicationContext

如果我删除这个插件,那么它就可以工作。什么原因 ?

0 投票
2 回答
325 浏览

struts2 - Struts2 + Spring,需要Spring Plugin吗?

我正在用为另一个项目开发的 Spring 服务 bean 替换现有的旧 Struts2 项目中的服务层。

我只想将这些服务 bean @Inject 到我的 Action 类中。

是否需要使用 Struts 的 Spring Plugin?或者我可以像其他任何(ContextLoaderListener、applicationContext.xml、context:component-scan)一样将 Spring 添加到我的 Struts Web 应用程序中吗?

我是否错过了 Struts Spring 插件以另一种方式帮助我的某些原因?

非常感谢!