jfinal js 拦截_Bootstrap+jfinal退出系统弹出确认框的实现方法

本文为大家分享了jfinal与bootstrap的登出操作,旨在介绍如何通过a标签弹出登出确认框,然后发送退出请求到jfinal,然后再刷新页面的做法。主要难点在于有以下两点:

1.如果通过a标签的内容弹出登出确认框;

2.如何通过a标签刷新对应弹出的页面。

一、前端技术

1.构建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方法。

效果:

如果大家还想深入学习,可以点击这里进行学习,再为大家附3个精彩的专题:

以上就是本文的全部内容,希望大家动手实现Bootstrap+jfinal退出系统弹出确认框,希望大家喜欢这篇文章,谢谢大家的阅读。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值