我正在使用Struts 2和Spring自动装配。现在,默认策略设置为by-name,但通常我们使用构造函数,并且只有一个实现类可用时,回退才会在属性中自动装入。Struts2 + spring autowiring action by-name没有暴露某些属性
有一个属性,但是我想要连接到一个具有几个实现类的操作类,所以我让Action成为一个java bean,并且可以设置属性作为字段。不幸的是,这些将被使用(显然)的唯一方法是如果他们有一个公共的getter/setter,它也会在请求时将它们暴露给类型转换器。换句话说,如果客户端将他们的名字作为表单域或参数添加到请求中,那么Struts会尝试将这些值写入它们。
所以我的问题是,实际上是否可以使用名义自动装配而不暴露这样的属性(这可能或可能不是安全隐患),还是我最好使用XML并将Action定义为带范围原型的对象?
我不确定你在'请求时间'类型转换器是什么意思 – 2012-03-13 11:50:32
@ UmeshAwasthi我试图进一步澄清。 – wds 2012-03-13 12:37:35
你可以很容易地告诉S2 param拦截器排除你的动作类中设置的某些参数 – 2012-03-13 13:09:37