java中setattr功能_Java Controller.setAttr方法代码示例

import com.jfinal.core.Controller; //导入方法依赖的package包/类

/**

* 为了规范代码,这里做了一点类是Spring的ResponseEntity的东西,及通过方法的返回值来判断是应该返回页面还会对应JSON数据

* 具体方式看 AdminRouters,这里用到了 ThreadLocal

*

* @param ai

*/

private void adminPermission(Invocation ai) {

try {

Controller controller = ai.getController();

AdminToken adminToken = adminTokenService.getAdminToken(controller.getRequest());

if (adminToken != null) {

BaseDataInitVO init = (BaseDataInitVO) ai.getController().getRequest().getAttribute("init");

Map webSite = init.getWebSite();

if (webSite.get("admin_dashboard_naver") == null) {

webSite.put("admin_dashboard_naver", "nav-md");

}

ai.getController().getRequest().setAttribute("webs", webSite);

try {

User user = User.dao.findById(adminToken.getUserId());

if (StringUtils.isEmpty(user.getStr("header"))) {

user.set("header", "assets/images/default-portrait.gif");

}

controller.setAttr("user", user);

TemplateHelper.fullTemplateInfo(controller);

if (!ai.getActionKey().equals("/admin/logout")) {

adminTokenService.setAdminToken(adminToken.getUserId(), adminToken.getSessionId(), controller.getRequest(), controller.getResponse());

}

ai.invoke();

// 存在消息提示

if (controller.getAttr("message") != null) {

controller.render("/admin/message.jsp");

} else {

if (!tryDoRender(ai, controller)) {

controller.render(Constants.ADMIN_NOT_FOUND_PAGE + ".jsp");

}

}

} catch (Exception e) {

LOGGER.error("", e);

exceptionHandler(ai, e);

}

} else if (ai.getActionKey().equals("/admin/login") || ai.getActionKey().equals("/api/admin/login")) {

ai.invoke();

tryDoRender(ai, controller);

} else {

blockUnLoginRequestHandler(ai);

}

} finally {

AdminTokenThreadLocal.remove();

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值