【发布时间】:2012-03-29 19:10:23
【问题描述】:
我正在使用 Struts 2 和 Spring 自动装配。目前,默认策略设置为按名称,但通常我们使用构造函数,当只有一个实现类可用时,回退可以自动装配属性。
但是,我想将一个属性连接到一个具有多个实现类的操作类中,因此我将操作设置为一个 java bean,并将属性作为可以设置的字段。不幸的是,使用这些的唯一方法(显然)是如果它们有一个公共的 getter/setter,这也会在请求时将它们暴露给类型转换器。换句话说,如果客户端将其名称作为表单字段或参数添加到请求中,Struts 将尝试将这些值写入它们。
所以我的问题是,实际上是否可以在不暴露类似属性的情况下使用按名称自动装配(这可能是也可能不是安全隐患),或者我最好只使用 XML 并将 Action 定义为对象范围原型?
【问题讨论】:
-
我不知道你说的
type converter at request time是什么意思 -
@UmeshAwasthi 我试图进一步澄清这一点。
-
您可以轻松告诉 S2 参数拦截器排除在您的操作类中设置的某些参数