jfinal与bootstrap的登出实战详解

 更新时间:2017年11月27日 16:27:52   作者:沉默王二  
这篇文章主要为大家详细介绍了jfinal与bootstrap的登出实战,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

前言:本篇推出“jfinal与bootstrap的登出实战”,旨在介绍如果通过a标签弹出登出确认框,然后发送退出请求到jfinal,然后再刷新页面的做法。主要难点在于1.如果通过a标签的内容弹出登出确认框,2.如何通过a标签刷新对应弹出的页面。

前端技术

1.构建a标签

复制代码 代码如下:
<a href="${ctx}/mem/logout"  target="ajaxTodo" callback="ajaxDone" atitle="你确定要退出吗?" id="user_login_out" style="padding: 0 6px;">退出</a>

注意:

1. target=”ajaxTodo”,指定a标签要通过ajax发起请求。
2. callback=”ajaxDone”,指定a标签回调函数
3. atitle=”你确定要退出吗?”,指定确认信息

2.初始化a标签ajax事件

function initUI(_box) {
 var $p = $(_box || document);

 // dwz.ajax.js
 if ($.fn.ajaxTodo) {
  $("a[target=ajaxTodo]", $p).ajaxTodo();
 }
}

注意:

1. 页面加载完成后执行initUI方法,使target为ajaxTodo的a标签具有指定的ajaxTodo方法。

3.a标签的ajax请求

function ajaxTodo(url, callback) {
 var $callback = callback;
 if (!$.isFunction($callback)) {
  $callback = eval('(' + callback + ')');
 }

 var forwardUrl = window.location.href;
 if (url.indexOf("?") != -1) {
  url += "&forwardUrl=" + forwardUrl;
 } else {
  url += "?forwardUrl=" + forwardUrl;
 }
 $.ajax({
  type : 'POST',
  url : url,
  dataType : "json",
  cache : false,
  success : $callback,
  error : YUNM.ajaxError
 });
}

注意:

1. forwardUrl 记录登出的页面

4.为jquery对象增加ajaxTodo方法

$.fn.extend({
 ajaxTodo : function() {
 return this.each(function() {
  var $this = $(this);
  $this.click(function(event) {
  var url = unescape($this.attr("href")).replaceTmById($(event.target).parents(".unitBox:first"));
  YUNM.debug(url);
  if (!url.isFinishedTm()) {
   $.showErr($this.attr("warn"));
   return false;
  }
  var title = $this.attr("atitle");
  if (title) {
   $.showConfirm(title, function() {
   ajaxTodo(url, $this.attr("callback"));
   });
  } else {
   ajaxTodo(url, $this.attr("callback"));
  }
  event.preventDefault();
  });
 });
 },
});

5.回调函数

function ajaxDone(json) {
 YUNM.ajaxDone(json);
 if (json[YUNM.keys.statusCode] == YUNM.statusCode.ok || json[YUNM.keys.statusCode] == YUNM.statusCode.info) {
 // 如果指定了后调转页面,进行调转
 if (json.forwardUrl) {
  location.href = json.forwardUrl;
 }
 }
}

6.弹出weebox确认框

$.showConfirm = function(str, funcok, funcclose) {
 var okfunc = function() {
 $.weeboxs.close("yunm_confirm_box");
 funcok.call();
 };
 $.weeboxs.open(str, {
 boxid : 'yunm_confirm_box',
 contentType : 'text',
 showButton : true,
 showCancel : true,
 showOk : true,
 title : '确认',
 width : 280,
 type : 'wee',
 onopen : function() {
  init_ui_button();
 },
 onclose : funcclose,
 onok : okfunc
 });
};

function init_ui_button() {
 $("button.ui-button[init!='init']").each(function(i, o) {
 $(o).attr("init", "init"); // 为了防止重复初始化
 $(o).ui_button();
 });

}

jfinal技术

public void logout() {

 if (getSession().getAttribute("username") != null) {
  // 清除session
  getSession().removeAttribute("username");
 }

 ajaxDoneSuccess("登出成功!");

 renderJson();
 }


增加logout方法。

这里写图片描述

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • JS实现Cookie读、写、删除操作工具类示例

    JS实现Cookie读、写、删除操作工具类示例

    这篇文章主要介绍了JS实现Cookie读、写、删除操作工具类,涉及javascript针对cookie的读、写、删除、清空等相关操作实现技巧,并附带了简单cookie操作插件供大家参考,需要的朋友可以参考下
    2018-08-08
  • Javascript中函数分类&this指向的实例详解

    Javascript中函数分类&this指向的实例详解

    其实想要彻底理解js中this的指向,不必硬背,这篇文章主要给大家介绍了关于Javascript中函数分类&this指向的相关资料,需要的朋友可以参考下
    2021-05-05
  • js DOM模型操作

    js DOM模型操作

    文档对象模型DOM(Document Object Module)定义了用户操作文档对象的接口,它使得用户对HTML有了空前的访问能力,并使开发者能将HTML作为XML文档来处理。
    2009-12-12
  • JS快速掌握ES6的class用法

    JS快速掌握ES6的class用法

    这篇文章主要介绍了JS快速掌握ES6的class用法,想了解ES6的同学,一定要看一下
    2021-05-05
  • JS应用之禁止抓屏、复制、打印

    JS应用之禁止抓屏、复制、打印

    js 禁止复制js 复制js 禁止右键 复制文件js 禁止 js禁止选择 js禁止右键代码
    2008-02-02
  • layui使用表格渲染获取行数据的例子

    layui使用表格渲染获取行数据的例子

    今天小编就为大家分享一篇layui使用表格渲染获取行数据的例子,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-09-09
  • Bootstrap3 input输入框插入glyphicon图标的方法

    Bootstrap3 input输入框插入glyphicon图标的方法

    这篇文章主要介绍了Bootstrap3 input输入框插入glyphicon图标的方法的相关资料,需要的朋友可以参考下
    2016-05-05
  • 原生JS实现的简单小钟表功能示例

    原生JS实现的简单小钟表功能示例

    这篇文章主要介绍了原生JS实现的简单小钟表功能,涉及javascript结合定时器的数值运算与页面元素属性动态修改相关操作技巧,需要的朋友可以参考下
    2018-08-08
  • flexible.js实现移动端rem适配方案

    flexible.js实现移动端rem适配方案

    这篇文章主要介绍了flexible.js实现移动端rem适配方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-04-04
  • 一文掌握JavaScript数组常用工具函数总结

    一文掌握JavaScript数组常用工具函数总结

    这篇文章主要介绍了一文掌握JavaScript数组常用工具函数总结,文章围绕主题展开详细的内容介绍,具有一定的参考价值
    2022-06-06

最新评论