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与前台通信。

继承ActionServlet的ControllerServlet.java

 

二.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()" id="username"><br>
  <input name="password" type="text"><br>
  <input type="submit" value="submit"><br>
 </form>
</body>
</html>
login.js

三.修改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>

 

struts-config.xml

 

validataUserAction.java

 

LoginActionForm.java用于收集表单数据

 

 posted on 2009-04-16 17:03  将军  阅读(2246)  评论(0编辑  收藏  举报