1.写一个继承ActionServlet的类A。在该类A中重写HttpServlet的service方法,然后调用ActionServlet中的process方法,然后从requst中得到要返回给前台的值value,如果不为空,则用response. getWriter().print(value);
2.修改web.xml中的名为action的servlet中servlet-class路径为类A的包名+A.
3.在业务Action中把execute方法的返回值设为null,把要返回到前台的对象存放到request中,使类A中的service方法能得到。
4.在写Struts-config.xml文件的action时,不用写forward。
例子:
例子中使用json与前台通信。
二.login.jsp中.当username失去焦点时触发事件。
}
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!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>
<script type="text/javascript" src="js/login.js"></script></head>
<body>
<form action="login.do" method="post">
<input name="username" type="text" onblur="validateUser()" ><br>
</form>
</body>
</html>
pageEncoding="UTF-8"%>
<!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>
<script type="text/javascript" src="js/login.js"></script></head>
<body>
<form action="login.do" method="post">
<input name="username" type="text" onblur="validateUser()" ><br>
</form>
</body>
</html>
三.修改web.xml中action
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>com.kai.struts.ControllerServlet</servlet-class>
<init-param>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>