`
liuxi1024
  • 浏览: 384451 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DWR & Spring - Configuration (1)

    博客分类:
  • Ajax
阅读更多

1、 DWR(direct web remoting)是一个Java库,能够在服务器上的Java和JavaScript在浏览器中进行互动。DWR 2.0版本是目前的稳定版本.

 

RPC-Style AJAX
Easy AJAX for Java
Easy to integrate
AJAX:
–Expose Java to the Browser
Reverse AJAX:
–Expose JavaScript to the Server

 

2、web.xml

<servlet>
		<servlet-name>dwr-invoker</servlet-name>
		<servlet-class>uk.ltd.getahead.dwr.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>
	</servlet-mapping>

 

2、dwr.xml

<dwr>
	<allow>
		<convert match="org.mcp.ep.entity.EP"  converter="bean"/>
		<create creator="spring" javascript="DwrManager">
			  <param name="beanName" value="DwrManager"/>
		</create>
	</allow>
</dwr> 

 说明:

<allow>....</allow>  为<!-- without allow, DWR isn't allowed to do anything --> 不被允许不做任何事情

<convert..../>为 转换器确保所有参数可转换

 

3、applicationContext.xml

<bean id="DwrManager" class="org.mcp.ep.logic.DwrManager">
        <property name="sessionFactory" ><ref local="sessionFactory" /></property>
    </bean>

 

4、java file: DqrManager

public boolean validateEp(final String orgNo) {
		return ((Long)getHibernateTemplate().execute(new HibernateCallback(){
			public Object doInHibernate(Session session) throws HibernateException, SQLException {
				return session.createQuery("select count(*) from EP t where t.orgNo=?")
					.setParameter(0, orgNo)
					.uniqueResult();
			}})).intValue() == 1;
	}

 说明:实现对组织编号唯一性做验证

 

5、jsp file

<script type='text/javascript' src='<%=contextPath %>/dwr/interface/DwrManager.js'></script>
<script type='text/javascript' src='<%=contextPath %>/dwr/engine.js'></script>
<script type='text/javascript' src='<%=contextPath %>/dwr/util.js'></script>

<script type="text/javascript">
function checkEpOrgNo() {
		var orgno = document.all.orgNo.value;
		DwrManager.validateEp(orgno, callback);
	}
	 
function callback(msg) {
   if(msg==true){
   		alert("此案登记号:" + document.all.orgNo.value + " \n已经有人使用。");
   }else{
   		alert("此备案登记号:" + document.all.orgNo.value + " \n可以使用。");	
   }
}
</script>

 说明:

engine.js 、util.js都是dwr公用的script

DwrManager.js 是服务器端注册的对象 script.

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics