DWR3.0与Spring MVC集成方法,dwr3.0mvc,DWR(Direct W
分享于 点击 43240 次 点评:168
DWR3.0与Spring MVC集成方法,dwr3.0mvc,DWR(Direct W
DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开发人员开发包含AJAX技术的网站。它可以允许在浏览器里的代码使用运行在WEB服务器上的JAVA函数,就像它就在浏览器里一样。
1.集成步骤
1.1 添加pom依赖
<dependency><groupId>org.apache.geronimo.bundles</groupId><artifactId>dwr</artifactId><version>3.0.M1_1</version></dependency>
1.2 web.xml修改,添加dwr-servlet
<!-- dwr servlet --> <servlet> <description>dwr-invoker</description> <servlet-name>dwr-invoker</servlet-name> <servlet-class>org.directwebremoting.servlet.DwrServlet</servlet-class> <init-param> <param-name>classes</param-name> <param-value>com.panguso.op.data.manager.service.general.GeneralContentManagementService</param-value> </init-param> <init-param> <param-name>debug</param-name> <param-value>true</param-value> </init-param> <init-param> <param-name>crossDomainSessionSecurity</param-name> <param-value>false</param-value> </init-param> </servlet> <servlet-mapping> <servlet-name>dwr-invoker</servlet-name> <url-pattern>/dwr/*</url-pattern> </servlet-mapping>
1.3 标注需要引用的类,如这里添加的GeneralContentManagementService
@Service@RemoteProxypublic class GeneralContentManagementService { private ContentManagementServiceAPI contentManageAPI = ContentManagementServiceAPI.getInstance(); private ResourceManagementServiceAPI resManageAPI = ResourceManagementServiceAPI.getInstance(); private static BeanSchemaServiceAPI beanServiceAPI = BeanSchemaServiceAPI.getInstance(); /** * 判断一个类型的beanSchema是否保存在mysql中 * * @param dataType 数据类型 * @param beanSchemaName beanSchema名称 * @return * @author fangqi * @date 2013-6-4 */ @RemoteMethod public boolean checkBeanSchemaIsInMySql(String dataType, String beanSchemaName) { List<BeanSchema> beanSchemas = beanServiceAPI.getMergedBeanPropertiesByDataType(dataType); for (BeanSchema beanSchema : beanSchemas) { if (beanSchema.getEname().equals(beanSchemaName)) { if (beanSchema.getIsStoredInMysql()) { return true; } } } return false; }
配置完成后,启动tomcat应用,输入地址 http://localhost:8180/<webappname>/dwr 如果能看到如下界面,说明配置成功:
2.使用步骤
2.1 在需要调用的jsp文件添加js引用
<!-- 第一个为你需调用的java类的名称+.js --><script type='text/javascript' src='dwr/interface/GeneralContentManagementService.js'></script><!-- 第二三个为通用,都要加--><script type='text/javascript' src='dwr/engine.js'></script><script type='text/javascript' src='dwr/util.js'></script>
2.2 js中使用
//判断所选的字段是否存在mysql中,如果不存在,返回 dwr.engine.setAsync(false); for (var i = 0; i < groupFields.length; i++) { var callback = function(data){ if (!data) { alert("选择分组字段" + groupFields[i] + "没有保存在mysql中,不能用来作为分组字段"); } }; GeneralContentManagementService.checkBeanSchemaIsInMySql(dataType, groupFields[i], callback); } dwr.engine.setAsync(true);
用户点评