strtuts+ajax 用户名无刷新验证简单实例
2013-04-30 20:05
531 查看
AjaxAction:
struts.xml:
jsp:
结果:
备注:以上的实例可以运行成功,但是本人使用到真实项目时遇到一些小问题。
比如action无法接受到值。折腾了一半天发现,删除 data:params,这一行之后,请求地址自动把参数传进去了(比如:http://127.0.0.1:8080/zlly/ajax/ajaxAction?user.loginId=4554545&clientId=454545 之类的)这时action可以接收到值了,但是注意的是struts.xml配置时 <result name="success" type="json"> <param name="root">mydata</param><result>
当你这样配置时,客户端要使用eval("("+data+")")才能接受到值。这是我出现的问题。
package ajax.demo; import java.util.ArrayList; import java.util.List; import ajax.model.User; import com.opensymphony.xwork2.ActionSupport; public class AjaxAction extends ActionSupport { /** * */ private static final long serialVersionUID = 1L; User user1 = new User(); User user2 = new User(); User user = new User(); public User getUser() { return user; } public void setUser(User user) { this.user = user; } private List<User> users = new ArrayList<User>(); public List<User> getUsers() { return users; } public void setUsers(List<User> users) { this.users = users; } private String mydata; public String getMydata() { return mydata; } public void setMydata(String mydata) { this.mydata = mydata; } public String loadInfo(){ mydata = "這是我的数据"; user1.setName("潘俊"); user1.setSex("男"); user2.setName("panjone"); user2.setSex("male"); users.add(user1); users.add(user2); return SUCCESS; } public String checkUser(){ if(user.getName().equals("panjone")){ mydata = "该用户名已存在!"; }else{ mydata = "恭喜你,该用户名可以注册!"; } return SUCCESS; } }
struts.xml:
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://struts.apache.org/dtds/struts-2.3.dtd"> <struts> <constant name="struts.enable.DynamicMethodInvocation" value="false" /> <constant name="struts.devMode" value="true" /> <package name="default" namespace="" extends="struts-default"> <default-action-ref name="index" /> <global-results> <result name="error">/error.jsp</result> </global-results> <global-exception-mappings> <exception-mapping exception="java.lang.Exception" result="error"/> </global-exception-mappings> </package> <package name="ajax" extends="json-default"> <action name="ajaxAction" class="ajax.demo.AjaxAction" method="loadInfo"> <result name="success" type="json"></result> </action> <action name="checkAction" class="ajax.demo.AjaxAction" method="checkUser"> <result name="success" type="json"></result> <param name="excludeProperties">users,user</param> </action> </package> <!-- Add packages here --> </struts>
jsp:
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + path + "/"; response.setCharacterEncoding("UTF-8"); %> <%@taglib prefix="s" uri="/struts-tags"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>获取</title> <script type="text/javascript" src="js/jquery-1.4.4.min.js"></script> <script type="text/javascript"> $(document).ready(function(){ $('#name').blur(function(){ var params = { "user.name":$('#name').val(), "user.sex":$('#sex').val() }; $.ajax({ type:"get", url:"ajax/checkAction", dataType:"json", data:params, success:function(data){ document.getElementById("info").innerHTML="<div style='color:red;'>"+data.mydata+"</div>"; } }); }); }); </script> </head> <body> <input type="button" value="获取" id="btnGet" /> <form id="theForm" action=""> 姓名:<input id="name" type="text" value="panjone" /> 性别:<input id="sex" type="text" value="男" /> </form> <div id="info"></div><br> <div id="allUser"></div> </body> </html>
结果:
备注:以上的实例可以运行成功,但是本人使用到真实项目时遇到一些小问题。
比如action无法接受到值。折腾了一半天发现,删除 data:params,这一行之后,请求地址自动把参数传进去了(比如:http://127.0.0.1:8080/zlly/ajax/ajaxAction?user.loginId=4554545&clientId=454545 之类的)这时action可以接收到值了,但是注意的是struts.xml配置时 <result name="success" type="json"> <param name="root">mydata</param><result>
当你这样配置时,客户端要使用eval("("+data+")")才能接受到值。这是我出现的问题。
相关文章推荐
- 利用ajax实现简单的注册验证局部刷新实例
- 东软学习,AJAX的一个简单验证用户名实例
- AJAX(三)--实例无刷新验证用户名是否存在
- ajax 简单应用---用户名无刷新验证
- 简单ajax应用实例:ajax+jsp实现用户名验证
- 利用ajax实现简单的注册验证局部刷新实例
- AJAX(三)--实例无刷新验证用户名是否存在
- Ajax 不刷新 验证用户名实例
- 简单ajax应用实例:ajax+jsp实现用户名验证
- ajax简单实例用户名验证
- 简单ajax应用实例:ajax+jsp实现用户名验证
- php与Ajax(三)—无刷新验证用户名实例之分析
- 用AJAX实现页面登陆以及注册用户名验证的简单实例
- ajax 实现无刷新验证用户名是否存在
- 注册时:js的ajax实现局部刷新验证用户名
- 基于jQuery实现的Ajax 验证用户名唯一性实例代码
- Asp.net2005不用Ajax实现无刷新验证用户名、密码和中文验证码
- 简单的Ajax验证用户名
- ajax学习之xml数据处理实例(网页注册用户名无刷新检测)
- jsp+ajax实现无刷新(鼠标离开文本框即验证用户名)实现思路