AJAX JQUERY STRUTS2.....异步验证用户名

    技术2022-05-19  20

    首先在web.xml加上统一编码过滤器.為的是防止乱码.

     

     <filter>  <filter-name>Set Character Encoding</filter-name>  <filter-class>   com.filter.SetCharacterEncodingFilter  </filter-class>  <init-param>   <param-name>encoding</param-name>   <param-value>UTF-8</param-value>  </init-param> </filter> <filter-mapping>  <filter-name>Set Character Encoding</filter-name>  <url-pattern>/*</url-pattern> </filter-mapping>

     

     

    java代码:

     

    /** *  */package com.filter;

    /** * @author * */import java.io.IOException;import javax.servlet.Filter;import javax.servlet.FilterChain;import javax.servlet.FilterConfig;import javax.servlet.ServletException;import javax.servlet.ServletRequest;import javax.servlet.ServletResponse;

    public class SetCharacterEncodingFilter implements Filter {

    private String charset = "UTF-8";

    public void destroy() {}

    public void doFilter(ServletRequest arg0, ServletResponse arg1,FilterChain arg2) throws IOException, ServletException {arg0.setCharacterEncoding(charset);arg1.setCharacterEncoding(charset);arg2.doFilter(arg0, arg1);}

    public void init(FilterConfig arg0) throws ServletException {}}

     

     

    jsp页面:

     

     

    <input type="text" name="student.stu_username" id="stuid" />

     

     

    javascript:

     

    $(document).ready(function(){$("#stuid").change(function(){$.post("userSearchSys.action", {username: $("#stuid").val()} ,function(data){alert(data);});});});

     

    绑定onchange事件.

     

     

    struts2.xml:

     

     

      <action name="*Sys" class="com.action.Sys" method="{1}">   <result type="stream"><param name="username">inputStream</param></result>  </action>

     

     

    action:

     

    public String userSearch(){  StudentDao sDao = new StudentDao();    try {  int i =sDao.searchUsername(username);  HttpServletResponse response = ServletActionContext.getResponse();  PrintWriter out = response.getWriter();    response.setCharacterEncoding("UTF-8");  response.setHeader("Charset","UTF-8");  response.setHeader("Cache-Control", "no-cache");  if (i==1){   out.println("用户名已经存在");   }   else {   out.println("用户名可用");  }}  catch (IOException e) {   // TODO Auto-generated catch block   e.printStackTrace();  }  return null; }

     


    最新回复(0)