这里主要说明一下就是在s2sh中怎么使用dwr,内容很简单!
1.首先导入所需要的各个包,其中包含dwr.jar这个包! (最新的就不用导入那2个js文件了)
2.保证在没有添加dwr文件的时候能正常启动,否者就是前面的配置出现问题与dwr没有关系
3.配置web.xml文件(在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>true</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>dwr-invoker</servlet-name>
<url-pattern>/dwr/*</url-pattern>
</servlet-mapping>
4.配置dwr.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 3.0//EN" "http://getahead.org/dwr//dwr30.dtd">
<dwr>
<allow>
<create creator="new" javascript="checkUser">
<param name="class" value="com.library.user.action.CheckUserNameAction" />
</create>
</allow>
</dwr>
说明: javascript="checkUser"中的checkUser就是在JSP页面中应用后台文件的别名,可以随便取,只要和前台jsp中的相同就可以了
4.java代码的编写
package com.library.user.action;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import com.library.user.service.UserService;
/**
* 检测用户名是否存在
*
* @author 金成杰
*
*/
public class CheckUserNameAction {
private UserService userService;
public CheckUserNameAction() {
ApplicationContext context = new ClassPathXmlApplicationContext(
"classpath:applicationContext.xml");
userService = (UserService) context.getBean("userService");
}
public boolean hasUserNO(String id) {
boolean hasUserNO = false;
try {
hasUserNO = userService.checkUserNO(id);
} catch (Exception e) {
hasUserNO=false;
}
return hasUserNO;
}
}
5.jsp 页面的编写(在这里我只是简单的实例一下)
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%
String path = request.getContextPath();
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
<%@taglib prefix="s" uri="/struts-tags"%>
<script type="text/javascript" src="<%=path%>/dwr/util.js"></script>
<script type="text/javascript" src="<%=path%>/dwr/engine.js"></script>
<script type="text/javascript"
src="<%=path%>/dwr/interface/checkUser.js"></script>
<SCRIPT type="text/javascript">
function checkUserNO() {
var id = document.getElementById("uid").value;
checkUser.hasUserNO(id, callBackResult);
}
function callBackResult(data) {
if (data == false) {
alert("数据库中没有该用户的编号");
}
}
</SCRIPT>
</head>
<body>
<s:textfield id="uid" name="uid" οnchange="checkUserNO()"></s:textfield>
</body>
</html>