JQuery+Strusts1.x无刷新登录
2010-08-18 12:54
2256 查看
在当今技术发展日益成熟,人们除了追求技术创新与发展外,更多也关注到了与用户交互的便利性方面上。当程序员还在为前后数据交互刷新问题困惑时,AJAX问世了,它以方便快捷的优越性博得了广大程序员的追捧。经过几年的发展,它也渐渐成为我们开发中必不可少的一件利器,下面我就来讲个struts+ajax的登录示例。
所用的JS插件: JQuery1.3.2汉化版、JQuery.form2.43
下面我们先来看看页面中核心的JS代码:
- function submitForm()
- {
- // 用jquery.form插件实现对表单数据系列化
- var form = $("form[name=AdminLoginForm]");
- // 配置jquery.form中ajaxForm的参数
- // success 操作成功时的回调函数
- // resetForm 是否刷新表单
- // dataType 接收服务器返回数据的类型, 有script, xml, json等
- var options = {success:showResponse,resetForm:false,dataType:"script"};
- // ajax发送表单数据到服务器
- form.ajaxForm(options);
- return false;
- }
- //回调函数
- function showResponse(responseText,statusText){
- if(statusText == "success")
- {
- alert(responseText);
- }
- else
- {
- alert("由于通讯问题,请稍后再登录!");
- }
- }
在上面的代码中我们可以发现通过JQuery和JQuery.form两款插件,我们只要短短的三行代码就可以实现与后台的数据交互。JQuery是一款功能很强大的JS插件,我个人也很喜欢,调用很方便,代码风格也不错。有空可以研究一下哦,呵呵……
下面继续来看看struts的action的代码:
- public ActionForward execute(ActionMapping mapping, ActionForm form,
- HttpServletRequest request, HttpServletResponse response)
- throws Exception {
- // 输出的方式与编码格式
- response.setContentType("text/html; charset=utf-8");
- PrintWriter out = response.getWriter();
- // 获取表单数据
- AdminLoginForm adminLogin = (AdminLoginForm) form;
- // 获取服务器产生的验证码
- String validateCode = request.getSession().getAttribute("validateCode").toString();
- try {
- // 判断用户输入的验证码是否正确
- if (adminLogin.getVerifycode().equalsIgnoreCase(validateCode)) {
- // 用户名的状态
- boolean isUser = false;
- // 验证用户名是否存在
- if(!adminLogin.getUsername().equalsIgnoreCase("elkan")){
- out.print("你输入的用户名不存在,请重新输入!");
- return null;
- }else{
- isUser = true;
- }
- // 验证密码是否正解
- if(adminLogin.getUserpswd().equalsIgnoreCase("lisenhui2010") && isUser){
- out.print("登录成功!");
- }else{
- out.print("密码错误,请重新输入!");
- return null;
- }
- } else {
- out.print("验证码输入错误请重新输入!");
- return null;
- }
- } catch (Exception e) {
- out.print(e.toString());
- }
- return null;
- }
还有下面的struts-config.xml的配置文件:
- <action-mappings>
- <action
- input="/webstage/adminLogin.jsp"
- name="AdminLoginForm"
- path="/AdminLogin"
- scope="request"
- type="com.elkan.struts.actions.AdminLogin"
- validate="false"/>
- </action-mappings>
说了那么多,下面先来看看通上面的代码所实现的效果吧:
看到上面的效果,你是不是也想展示一下自己的身手呢,那就赶紧动手吧,相信有了上面的那些代码的提示做个DEMO应该不会很难吧,如果有什么问题的话可以留言给我。谢谢支持。
预告:下一期将发布:strus2.x+JQuery完美结合
相关文章推荐
- JQuery+Strusts1.x无刷新登录
- 使用tabhost换号登录情况是否需要刷新tab页的逻辑判断
- 登录界面 单击刷新验证码
- 不刷新页面的登录框(基于Thinkphp)
- 使用QQ第三方登录 并在父页面跳转刷新
- asp.net利用jquery ajax实现免刷新登录
- 菜鸟蔡之Ajax复习第三篇(Ajax之无刷新登录)
- Ajax中,ModalPopup与UpdatePanel结合,实现局部刷新的登录效果 (调用cs服务)
- 使用最原始AJAX与Java Servlet实现无刷新的登录系统
- Ajax中,ModalPopup与UpdatePanel结合,实现局部刷新的登录效果 (调用cs服务)
- ifrema登录超时刷新父窗口到登录界面
- MyEclipse开发Struts框架令牌技术,防止恶意刷新登录
- session失效刷新后登录页面嵌入在iframe中的解决办法
- session失效刷新后登录页面嵌入在iframe中的前台解决办法
- 使用AjaxPro框架实现无刷新用户登录验证【原创】
- 解决!百度云管家使用QQ第三方登录时提示“由于网络原因无法载入页面 请点击刷新后重试”
- 解决cas集群时登录需要刷新多次才可以登录成功
- Ajax局部刷新---登录简单例子
- sso cas连续登录两次刷新页面问题解决
- ASP.NET MVC Filter- 登录验证 【异步刷新列表视图】