SSH遇到个问题。 我定义了个action,里面有个list,然后list是通过xml赋值的spring xml配置<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代码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的就不装配了?。这个是怎么回事 搞不懂啊搞不懂
<property name="menuRule">
<list>
<value>1</value>
<value>2</value>
<value>3</value>
</list>
</property>
</bean>
action代码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的就不装配了?。这个是怎么回事 搞不懂啊搞不懂
解决方案 »
- struts2 路径问题
- 变态的需求,请高手赐教
- Invocation of init method failed; nested exception is java.lang.NoSuchMethodErro
- 请问在建立web项目的时候选择java ee5还是1.4有什么区别啊
- 局域网教学的开发问题?
- 急!(在eclipse基础上安装了myeclipse后,重新启动时报了错)
- java中播放音乐的问题
- 灌水吧
- 淘宝商品浏览量是如何实现的?
- 大家请帮我看以下这段程序的问题出在哪里?怎么执行的结果老是"error"?
- 要在同一行显示多个数据怎么处理?
- myeclipse给struts做国际化时字符编码报错问题!
object.factory=spring 配置了?
要去容器拿的那个才是初始化的那个bean 假如一个request请求 调用对应action固定方法如下获取的bean才是你要的bean
HttpSession session = request.getSession();
ServletContext application = session.getServletContext();
WebApplicationContextUtils.getWebApplicationContext(application).getBean("PageForwardAction");
更改成public List menuRule
这句代码应该改为private List menuRule,否则你那个spring里的注入就不起作用了