我在两个不同的包中有两个动作
<package name="default" extends="struts-default json-default" namespace="/">
<action name="getstarted" class="GetStartedActionBean">
<result name="success">/jsp/getStarted.jsp</result>
<result name="input">/jsp/getStarted.jsp</result>
</action>
</package>
<package name="example" extends="json-default">
<action name="searchIndustryaction" class="GetStartedActionBean" method="searchIndustry">
</action>
</package>
我已经注入了一个bean,当页面加载时工作正常,但我的搜索是通过dwr,那时bean没有被注入
在我的impl中
private SessionFactory sessionfactory;
public void setSessionfactory(SessionFactory sessionfactory) {
this.sessionfactory = sessionfactory;
}
调用execute方法时设置 sessionFactory
但是当我调用searchIndustry
sessionfactory
时使用dwr始终为null
Dwr条目
<create creator="new" javascript="AdvancedSearch" scope="application">
<param name="class" value="com.sample.dao.impl.IndustryDAOImpl"/>
</create>
如何在dwr中调用注入的bean?
答案 0 :(得分:2)
如果您使用DWR意味着您必须输入这样的条目
<create creator="spring" javascript="Industry">
<param name="beanName" value="Yourbeanname" />
</create>
但您直接调用该类,因此请更改为此格式。希望它对你有用
答案 1 :(得分:0)
在你的dwr.xml中,你可以为其中的一个创建者:
new :使用Java'new'运算符。
static :使用'getInstance()'方法(默认情况下)获取类的实例。
无:这不会创建对象。请参阅下文了解原因。 (V1.1 +)
脚本化:通过BSF使用BeanShell或Groovy等脚本语言。
spring :通过Spring Framework提供对bean的访问。
jsf :使用JSF中的对象。 (V1.1 +)
struts :使用struts FormBeans。 (V1.1 +)
页面流:允许从Beehive或Weblogic访问PageFlow。 (V1.1 +)