大家好:
我有一个项目采用在dwr与spring整合的时候出现了问题,自己试了两天也没有结果,由于我的项目是使用spring的注解方式管理的bean和struts的action。网上资料也不全,还望各位牛人们能帮帮忙!在jsp页面上由一个方法要调用一个类BookManagerImpl中的addBook()方法
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;@Service
@Transactional
public class BookManagerImpl implements BookManager {
public void addBook() {
add//...........方法
}
}
--------------------------------------------------------
web.xm中有光dwr的配置
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet> <servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
当然还有些dwr.xml的配置,网上的整合方法也试了还是没法运行,在这儿还望牛人解答
我有一个项目采用在dwr与spring整合的时候出现了问题,自己试了两天也没有结果,由于我的项目是使用spring的注解方式管理的bean和struts的action。网上资料也不全,还望各位牛人们能帮帮忙!在jsp页面上由一个方法要调用一个类BookManagerImpl中的addBook()方法
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;@Service
@Transactional
public class BookManagerImpl implements BookManager {
public void addBook() {
add//...........方法
}
}
--------------------------------------------------------
web.xm中有光dwr的配置
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>true</param-value>
</init-param>
</servlet> <servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
当然还有些dwr.xml的配置,网上的整合方法也试了还是没法运行,在这儿还望牛人解答
1 引入dwr的jar包,2。0和3.0是不一样的。
2 在web.xml中加入<servlet>
<servlet-name>dwr-invoker </servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet </servlet-class>
<init-param>
<param-name>debug </param-name>
<param-value>true </param-value>
</init-param>
</servlet> 3在web-inf下建立dwr.xml进行相关的配置
4 建立你的类,如果是接口和实现类的话,你要调用的方法必须在接口中定义下。
5 在你的applicationContext.xml中配置下你的类
6 在页面中要加入对dwr的引用
<script type='text/javascript' src='dwr/interface/aclManager.js'></script>
<script type='text/javascript' src='dwr/engine.js'></script>
<script type='text/javascript' src='dwr/util.js'></script>
然后addBookService用IOC方式获取BookManagerImpl的实例, 再addBook()试试
http://www.blogjava.net/relax/archive/2009/08/13/290958.html
<bean id="aclManager" class="com.xxxx.manager.impl.BookManagerImpl">
</bean>
这样的配置tomcat能够正常启动,dwr的debug页面http://localhost:8080/dwr/也能够正常显示BookManagerImpl类中的相应方法,问题就是一但我正式调用的时候,就不能正常的调用方法
<script src='../dwr/interface/ProblemService.js' type=""></script>
<script src='../dwr/engine.js' type=""></script>
<script src='../dwr/util.js' type=""></script>-------dwr.xml----------
<create javascript="ProblemService" creator="spring">
<param name="beanName" value="problemService" />
</create>
----------spring注入-------------
<bean id="problemService"
class="ProblemServiceImpl">
</bean>
})最后一个参数是回调函数,就是你执行了以后你要做什么,函数参数就是你所调
方法返回值,回调函数可以不用写
<bean id="baseService" ...../>在web.xml文件中配置dwr
<servlet>
<servlet-name>dwr-invoker</servlet-name>
<servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>ture</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>配置dwr.xml
<dwr>
<allow>
<create javascript="baseService" creator="spring">
<param name="beanName" value="baseService"/>
</allow>
</dwr>在页面中调用
<script type="text/javascript" src="dwr/engine.js"></script>
<script type="text/javascript" src="dwr/util.js"></script>
<script type="text/javascript" src="dwr/interface/baseService.js"></script>
<script type="text/javascript" src="js/utils.js"></script>
<input type="button" value="登录" onclick="isExist()"/>js/utils.js
function isExist() {
var username = document.getElementById("username").value;
var password = document.getElementById("password").value;
baseService.findByUserPwd(username,password,callback);
} function callback(value) {
if (value=="failure") {
document.getElementById("show").innerHTML = ".....";
} else {
document.forms[0].submit();
}
}
可是报了Error creating bean with name '/fee': Autowiring of fields failed;
后面还有很多异常,都说的是我引用注解方法注入失败
是这么原因啊