index.jsp
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib uri="/struts-bean" prefix="bean" %>
<%@ taglib uri="/struts-html" prefix="html" %>
<%@ taglib uri="/struts-logic" prefix="logic" %>
<html:html>
<head>
<title>Struts结合ajax示例</title>
<script type="text/javascript" src="jquery/jquery-1.2.6.js"></script>
</head>
<body>
<html:form action="/reg.do?method=check">
<input id="username" name="username" οnblur="checkUsername()"/><span id="name_msg" style="color:red"></span><br/>
<input id="password" name="password" /><br/>
<html:submit>确定</html:submit>
</html:form>
</body>
</html:html>
<script language="javascript">
function checkUsername(){
var url="/test/reg.do?method=check";
$.ajaxSetup({cache:false});
$.getJSON(url,
{"username":$("#username").val()},
function(json)
{
if(json.result=='success')
{
$("#name_msg").text("用户名可用");
}
else if(json.result=='failure')
{
$("#name_msg").text("用户名已被占用");
}
});
}
</script>
RegAction.java
public class RegAction extends DispatchAction {
public ActionForward check(ActionMapping mapping,ActionForm form,HttpServletRequest request,HttpServletResponse response)throws Exception{
PrintWriter out = response.getWriter();
String username = request.getParameter("username");
if(username!=null && "rain".equals(username)){
out.print("{/"result/":/"failure/"}");
}else{
out.print("{/"result/":/"success/"}");
}
return null;
}
}
struts-config.xml
<form-beans>
<form-bean name="regForm" type="org.apache.struts.action.DynaActionForm">
<form-property name="username" type="java.lang.String" />
<form-property name="password" type="java.lang.String" />
</form-bean>
</form-beans>
<action-mappings>
<action path="/reg" type="com.struts.RegAction" name="regForm" parameter="method" scope="request">
</action>
</action-mappings>