当前位置: 代码迷 >> J2EE >> spring配置action bean的有关问题
  详细解决方案

spring配置action bean的有关问题

热度:149   发布时间:2016-04-22 02:51:52.0
spring配置action bean的问题
SSH遇到个问题。 我定义了个action,里面有个list,然后list是通过xml赋值的

spring xml配置
XML code
<bean id="PageForwardAction" class="action.PageForwardAction" scope="singleton">            <property name="menuRule">        <list>            <value>1</value>            <value>2</value>            <value>3</value>        </list>    </property></bean>


action代码
Java code
public class PageForwardAction extends ActionSupport{    private List menuRule = new ArrayList();        public PageForwardAction() {        System.out.println("create new");    }    public String pageForward() throws Exception {        return SUCCESS;    }        public List getMenuRule() {        return menuRule;    }        public void setMenuRule(List menuRule) {        this.menuRule = menuRule;    }}


我怎么都取不到list的值,后来发现每次调用action的时候,PageForwardAction构造函数都会被调用一次,输出“create new”,然后容器初始化时赋值给menuRule的setter的值就没了,singleton为什么没用? 而且spring里配置的property为什么容器刚启动的时候会调用一次,调用action的就不装配了?。。。。

这个是怎么回事 搞不懂啊搞不懂

------解决方案--------------------
单独定义一个id="menuRule "试试
------解决方案--------------------
struts和spring的结合没配置好吧,就是你请求action的时候实际上没有从spring容器中区获取action对应的bean,所以属性没注入进去
------解决方案--------------------
我也觉得是整合的时候出问题了。。
------解决方案--------------------
private List menuRule = new ArrayList();
更改成

public List menuRule

  相关解决方案