jfinal與bootstrap的登出實(shí)戰(zhàn)詳解
前言:本篇推出“jfinal與bootstrap的登出實(shí)戰(zhàn)”,旨在介紹如果通過(guò)a標(biāo)簽彈出登出確認(rèn)框,然后發(fā)送退出請(qǐng)求到j(luò)final,然后再刷新頁(yè)面的做法。主要難點(diǎn)在于1.如果通過(guò)a標(biāo)簽的內(nèi)容彈出登出確認(rèn)框,2.如何通過(guò)a標(biāo)簽刷新對(duì)應(yīng)彈出的頁(yè)面。
前端技術(shù)
1.構(gòu)建a標(biāo)簽
注意:
1. target=”ajaxTodo”,指定a標(biāo)簽要通過(guò)ajax發(fā)起請(qǐng)求。
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. 頁(yè)面加載完成后執(zhí)行initUI方法,使target為ajaxTodo的a標(biāo)簽具有指定的ajaxTodo方法。
3.a標(biāo)簽的ajax請(qǐng)求
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 記錄登出的頁(yè)面
4.為jquery對(duì)象增加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)頁(yè)面,進(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方法。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- JFinal使用ajaxfileupload實(shí)現(xiàn)圖片上傳及預(yù)覽
- JFinal實(shí)現(xiàn)偽靜態(tài)的方法
- JFinal極速開(kāi)發(fā)框架使用筆記分享
- java 中JFinal getModel方法和數(shù)據(jù)庫(kù)使用出現(xiàn)問(wèn)題解決辦法
- Bootstrap+jfinal退出系統(tǒng)彈出確認(rèn)框的實(shí)現(xiàn)方法
- Bootstrap+jfinal實(shí)現(xiàn)省市級(jí)聯(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ù)庫(kù)的方法
相關(guān)文章
微信小程序?qū)崿F(xiàn)下拉刷新和上拉分頁(yè)效果的方法詳解
這篇文章主要為大家詳細(xì)介紹了微信小程序動(dòng)畫(huà)是如何實(shí)現(xiàn)下拉刷新和上拉分頁(yè)效果的,文中示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-06-06javascript打印大全(打印頁(yè)面設(shè)置/打印預(yù)覽代碼)
打印頁(yè)面設(shè)置,打印頁(yè)面預(yù)覽在打印過(guò)程中經(jīng)常會(huì)遇到,網(wǎng)上搜集整理了一些實(shí)用的打印方法與大家分享,感興趣的朋友可以了解下哈2013-03-03js實(shí)現(xiàn)iPhone界面風(fēng)格的單選框和復(fù)選框按鈕實(shí)例
這篇文章主要介紹了js實(shí)現(xiàn)iPhone界面風(fēng)格的單選框和復(fù)選框按鈕,涉及javascript動(dòng)態(tài)操作頁(yè)面元素樣式的相關(guān)技巧,非常美觀大方,需要的朋友可以參考下2015-08-08JS實(shí)現(xiàn)無(wú)限級(jí)網(wǎng)頁(yè)折疊菜單(類似樹(shù)形菜單)效果代碼
這篇文章主要介紹了JS實(shí)現(xiàn)無(wú)限級(jí)網(wǎng)頁(yè)折疊菜單(類似樹(shù)形菜單)效果代碼,涉及JavaScript基于鼠標(biāo)事件實(shí)現(xiàn)針對(duì)頁(yè)面元素結(jié)點(diǎn)的遍歷及樣式操作技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09knockoutjs動(dòng)態(tài)加載外部的file作為component中的template數(shù)據(jù)源的實(shí)現(xiàn)方法
Knockoutjs 的Components 是一種自定義的組件,它以一種強(qiáng)大、簡(jiǎn)介的方式將你自己的ui代碼組織成一種單獨(dú)的、可重用的模塊。接下來(lái)通過(guò)本文給大家介紹knockoutjs動(dòng)態(tài)加載外部的file作為component中的template數(shù)據(jù)源的實(shí)現(xiàn)方法,一起看看吧2016-09-09Electron實(shí)現(xiàn)應(yīng)用打包、自動(dòng)升級(jí)過(guò)程解析
這篇文章主要介紹了Electron實(shí)現(xiàn)應(yīng)用打包、自動(dòng)升級(jí)過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-07-07webpack4實(shí)現(xiàn)不同的導(dǎo)出類型
這篇文章主要介紹了webpack4實(shí)現(xiàn)不同的導(dǎo)出類型,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04JavaScript 判斷用戶輸入的郵箱及手機(jī)格式是否正確
JavaScript判斷用戶輸入的郵箱格式是否正確、判斷用戶輸入的手機(jī)號(hào)格式是否正確,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下2013-12-12談?wù)凱HP中相對(duì)路徑的問(wèn)題與絕對(duì)路徑的使用
經(jīng)??吹接腥瞬仍诹薖HP路徑的坑上面了,感覺(jué)有必要來(lái)說(shuō)說(shuō)PHP中相對(duì)路徑的一些坑,以及PHP中絕對(duì)路徑的使用,下面一起來(lái)看看。2016-08-08