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