Struts2 中的Action 继承ActionSupport会导致对象无法注入
以下是我Action里面的代码publicclassJobsActionextendsActionSupportimplementsServletRequestAware...
以下是我Action里面的代码
public class JobsAction extends ActionSupport implements ServletRequestAware {
private IJobsDao jobdao;
public void setJobdao(IJobsDao jobdao) {
this.jobdao = jobdao;
}
public HttpServletRequest getRequest() {
return request;
}
下面是我spring配置文件里面的配法。
<!-- 目标对象 -->
<bean id="jobs" class="dao.impl.JobsDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- Action配置 -->
<bean id="JobsAction" class="action.JobsAction" scope="prototype">
<property name="jobdao">
<ref bean="jobs" />
</property>
</bean>
我感觉是上面这样写没有问题啊,为什么非得要把 目标对象配置 里id的名字jobs 改成jobdao ,Action配置里的 ref bean 的名字也改成jobdao 才可以注入了。真得觉得很奇怪。有谁能告诉
这是为什么不?
上面那样写是注入不成功的, 除非像上面所说把名字改成一样的就能注入, 但如果在不改名字的情况下不继承ActionSupport就可以注入成功! 展开
public class JobsAction extends ActionSupport implements ServletRequestAware {
private IJobsDao jobdao;
public void setJobdao(IJobsDao jobdao) {
this.jobdao = jobdao;
}
public HttpServletRequest getRequest() {
return request;
}
下面是我spring配置文件里面的配法。
<!-- 目标对象 -->
<bean id="jobs" class="dao.impl.JobsDaoImpl">
<property name="sessionFactory">
<ref bean="sessionFactory" />
</property>
</bean>
<!-- Action配置 -->
<bean id="JobsAction" class="action.JobsAction" scope="prototype">
<property name="jobdao">
<ref bean="jobs" />
</property>
</bean>
我感觉是上面这样写没有问题啊,为什么非得要把 目标对象配置 里id的名字jobs 改成jobdao ,Action配置里的 ref bean 的名字也改成jobdao 才可以注入了。真得觉得很奇怪。有谁能告诉
这是为什么不?
上面那样写是注入不成功的, 除非像上面所说把名字改成一样的就能注入, 但如果在不改名字的情况下不继承ActionSupport就可以注入成功! 展开
3个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询