struts2中ajax的使用

今天在struts使用ajax上面花了一下午的时间,在网上查的方法很多,但有一些细节没注意到,所以一直没能成功。

首先应该注意的是:使用的struts2的相关jar包版本一定要相同(很多时候我们解决一个问题花了很长时间,一天甚至几天,到最后发现不是代码的呃问题,而是jar包版本的问题,这时候就有一种想砸电脑的冲动了)。

使用ajax的页面:index.jsp:

<script type="text/javascript" src="js/jquery-1.7.2.js"></script>
    <script type="text/javascript">
       $(document).ready(function(){
           $("#uname").focus(function(){
              if($(this).val()=="请输入用户名")
              {
                 $(this).val("");
              }
             
           }).blur(function(){
              $.ajax({
                  type:"get",
                  url:"userAction!regUsers?uname="+$(this).val(),
                  dataType:"json",
                  success:ok,
                  error:err
             
              });
             
           });
       });
       function ok(d)
       {
         alert(d.rows[0].ishas);
          if(d.rows[0].ishas=="true")
          {
             $("#sp").html("用户名已存在!");
          }
          else
          {
             $("#sp").html("用户名可以使用!");
          }
       }
       function err()
       {
          alert("检测不到用户名,请联系管理员!");
       }
    </script>
    <center>
       <h3>用户注册</h3>
       <form method="get" action="userAction!regUsers">
         用户姓名:<input type="text" name="tblUser.uname" id="uname" value="请输入用户名">
         <span id="sp" style="color: red;"></span><br>
         用户密码:<input type="password" name="tblUser.upass" id="upass"><br>
         <input type="submit" value="提交">
         <input type="reset" value="清空">
       </form>
     </center>

action处理:

/*
 * 时间:2016年10月18日22:38:26
 * 程序功能:用户操作的action,继承了action的父类BaseAction
 * */
package com.sc.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.apache.struts2.ServletActionContext;
import org.springframework.stereotype.Controller;

import com.sc.dao.UserDao;
import com.sc.entity.TblUser;

@Controller
public class UserAction extends BaseAction {
    @Resource(name="userDao")
    UserDao userDao;
    TblUser tblUser;
    public Map responseJson;
   
    public String regUsers()
    {
        System.out.println(tblUser.getUname());
        String uname=request.getParameter("uname");
        Map<String, Object> map=new HashMap<String, Object>();
        List<Map<String, Object>> list=new ArrayList<Map<String,Object>>();
        Map<String, Object> m=new HashMap<String, Object>();
        if(uname!=null&&uname.equals("admin"))
        {
            m.put("ishas", "true");
        }
        else
        {
            m.put("ishas", "false");
        }
                list.add(m);
        map.put("rows", list);
        this.setResponseJson(map);
        return SUCCESS;
    }
   
    public Map getResponseJson() {
        return responseJson;
    }
    public void setResponseJson(Map responseJson) {
        this.responseJson = responseJson;
    }
    public TblUser getTblUser() {
        return tblUser;
    }
    public void setTblUser(TblUser tblUser) {
        this.tblUser = tblUser;
    }
}

struts.xml配置:

<constant name="struts.devMode" value="true"></constant>
<package name="struts" extends="struts-default,json-default">
  <action name="userAction" class="com.sc.action.UserAction">
    <result type="json">
      <param name="root">responseJson</param>
    </result>
  </action>
</package>


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值