`

struts2与ajax交互

 
阅读更多

实现动态检验用户是否在数据库中存在.

 

一:JSP页面

<script type="text/javascript" src="JS/Ajax.js" ></script>  

<script type="text/javascript">  

  function checkUsersName(value){  

   if(value!=""){  

   Ajax("get","check?usersName="+value,deal,null);  

  }  

 }

</script>

<form action="register" method="post"  id="form1">  

  <table>  

   <tr>  

      <td>用户名:</td>

      <td>

          <input type="text" name="usersName" onblur="checkUsersName(this.value)"/>

          <div id="check">这里显示检测结果信息</div>

      </td>  

      </tr>  

      <tr>  

       <td>

           <input type="submit" value="注册"/>

       </td>

       <td>

           <input type="reset" value="重置"/>

        </td>

     </tr>  

   </table>  

  </form>  

 

二:Action接收请求并处理,并返回结果

 public String checkUserName()
  {
  
HttpServletResponse response=ServletActionContext.getResponse();
   response.setContentType("text/html");
   response.setCharacterEncoding("utf-8");
   PrintWriter out = null;
   try {
   
out=response.getWriter();
   } catch (IOException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
   }
   String name="";
   try {
     
//页面传递usersName过来,这里涉及到中文转码
    
name=java.net.URLDecoder.decode(usersName,"UTF-8");
   } catch (UnsupportedEncodingException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
   }
    
//存在返回1,否则返回0
   
if(rs.checkUserExit(name)!=null) // 进行数据库校验
    { 
      
exit="1";
      out.print(exit);
      out.flush();
      out.close();
      System.out.println(exit);
    }
  
  return null;

}

 

三:Struts配置文件

<action name="check" class="com.article.action.RegisterAction" method="checkUserName">  

   <result>register.jsp</result>  

</action>

 

上面的<result></result>里面可以不写,如果报错,就写个已存在的页面,不会跳转的,注册页面与action交互,action里execute的返回值必须为空!

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics