jfinal與bootstrap的登出實(shí)戰(zhàn)詳解
前言:本篇推出“jfinal與bootstrap的登出實(shí)戰(zhàn)”,旨在介紹如果通過a標(biāo)簽彈出登出確認(rèn)框,然后發(fā)送退出請求到j(luò)final,然后再刷新頁面的做法。主要難點(diǎn)在于1.如果通過a標(biāo)簽的內(nèi)容彈出登出確認(rèn)框,2.如何通過a標(biāo)簽刷新對應(yīng)彈出的頁面。
前端技術(shù)
1.構(gòu)建a標(biāo)簽
注意:
1. target=”ajaxTodo”,指定a標(biāo)簽要通過ajax發(fā)起請求。
2. callback=”ajaxDone”,指定a標(biāo)簽回調(diào)函數(shù)
3. atitle=”你確定要退出嗎?”,指定確認(rèn)信息
2.初始化a標(biāo)簽ajax事件
function initUI(_box) {
var $p = $(_box || document);
// dwz.ajax.js
if ($.fn.ajaxTodo) {
$("a[target=ajaxTodo]", $p).ajaxTodo();
}
}
注意:
1. 頁面加載完成后執(zhí)行initUI方法,使target為ajaxTodo的a標(biāo)簽具有指定的ajaxTodo方法。
3.a標(biāo)簽的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.回調(diào)函數(shù)
function ajaxDone(json) {
YUNM.ajaxDone(json);
if (json[YUNM.keys.statusCode] == YUNM.statusCode.ok || json[YUNM.keys.statusCode] == YUNM.statusCode.info) {
// 如果指定了后調(diào)轉(zhuǎn)頁面,進(jìn)行調(diào)轉(zhuǎn)
if (json.forwardUrl) {
location.href = json.forwardUrl;
}
}
}
6.彈出weebox確認(rèn)框
$.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 : '確認(rèn)',
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"); // 為了防止重復(fù)初始化
$(o).ui_button();
});
}
jfinal技術(shù)
public void logout() {
if (getSession().getAttribute("username") != null) {
// 清除session
getSession().removeAttribute("username");
}
ajaxDoneSuccess("登出成功!");
renderJson();
}
增加logout方法。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JFinal使用ajaxfileupload實(shí)現(xiàn)圖片上傳及預(yù)覽
- JFinal實(shí)現(xiàn)偽靜態(tài)的方法
- JFinal極速開發(fā)框架使用筆記分享
- java 中JFinal getModel方法和數(shù)據(jù)庫使用出現(xiàn)問題解決辦法
- Bootstrap+jfinal退出系統(tǒng)彈出確認(rèn)框的實(shí)現(xiàn)方法
- Bootstrap+jfinal實(shí)現(xiàn)省市級聯(lián)下拉菜單
- jfinal與bootstrap的登錄跳轉(zhuǎn)實(shí)戰(zhàn)演習(xí)
- jfinal添加jcaptcha驗(yàn)證碼實(shí)現(xiàn)方法
- Java中JFinal框架動(dòng)態(tài)切換數(shù)據(jù)庫的方法
相關(guān)文章
layer彈出層倒計(jì)時(shí)關(guān)閉的實(shí)現(xiàn)方法
今天小編就為大家分享一篇layer彈出層倒計(jì)時(shí)關(guān)閉的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
JS焦點(diǎn)圖,JS 多個(gè)頁面放多個(gè)焦點(diǎn)圖的實(shí)例
下面小編就為大家?guī)硪黄狫S焦點(diǎn)圖,JS 多個(gè)頁面放多個(gè)焦點(diǎn)圖的實(shí)例。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-12-12
javascript高仿熱血傳奇游戲?qū)崿F(xiàn)代碼
這篇文章主要介紹了javascript高仿熱血傳奇游戲的實(shí)現(xiàn)代碼,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2018-02-02
top.location.href 沒有權(quán)限 解決方法
以前好像沒有遇到這問題,也可能是沒有在意吧,我的blog內(nèi)容頁都是有判斷的,規(guī)則是,如果top.location不是內(nèi)容頁的話就跳到內(nèi)容頁2008-08-08
js限制文本框只能輸入整數(shù)或者帶小數(shù)點(diǎn)的數(shù)字
如何用js限制文本框輸入,只允許輸入整數(shù)或帶一位小數(shù)的浮點(diǎn)數(shù),本文分享一例代碼,有需要的朋友參考下2015-04-04

