`
ayhome
  • 浏览: 33509 次
  • 性别: Icon_minigender_1
  • 来自: 贵阳
社区版块
存档分类
最新评论

为etmvc添加Helpers

    博客分类:
  • JAVA
阅读更多

----------------------------------------------------------------------------------------------------

后来发现一个更为简便的方法

直接  super.getRequest().setAttribute("request", request);

汗死 脑袋被拍砖了

----------------------------------------------------------------------------------------------------

 

 

在etmvc+freemarker的环境下若想在ftl中得到当前页面的URL还是比较繁琐的(貌似使用etmvc后不能在ftl中使用request对象了)为此我只好些个Helpers了,

先建立个实体如下。

 

/* ***********************************************
 * author :  Anyhome
 * email  :  ayhome@gmail.com 
 * function: 
 * @date 2009-12-14
 * history:  created by Anyhome
 * ***********************************************/
 
/**
 * 具体还可以自己再增减
 */
package org.anyhome.models;

import java.util.List;

/**
 * @author Ayhome
 *
 */
public class MyHelpers {
	private String Url;
	private String HostName;
	private String Controller;
	private String Action;
	private String Method;
	private String ContextPath;
	private String Uri;
	private List<String> Permission;
	public void setUrl(String url) {
		Url = url;
	}
	public String getUrl() {
		return Url;
	}
	public void setHostName(String hostName) {
		HostName = hostName;
	}
	public String getHostName() {
		return HostName;
	}
	public void setController(String controller) {
		Controller = controller;
	}
	public String getController() {
		return Controller;
	}
	public void setAction(String action) {
		Action = action;
	}
	public String getAction() {
		return Action;
	}
	public void setMethod(String method) {
		Method = method;
	}
	public String getMethod() {
		return Method;
	}
	public void setContextPath(String contextPath) {
		ContextPath = contextPath;
	}
	public String getContextPath() {
		return ContextPath;
	}
	public void setUri(String uri) {
		Uri = uri;
	}
	public String getUri() {
		return Uri;
	}
	public void setPermission(List<String> permission) {
		Permission = permission;
	}
	public List<String> getPermission() {
		return Permission;
	}
}

 

 然后前置过滤器如下

 

	protected boolean InitPages() throws ActiveRecordException{
		MyHelpers Helpers = new MyHelpers();
		Helpers.setAction(super.getActionName());
		Helpers.setController(super.getControllerName());
		Helpers.setUrl(super.request.getRequestURL().toString());
		Helpers.setUri(super.request.getRequestURI());
		Helpers.setContextPath(super.request.getContextPath());
		//---		
		String ss = super.getControllerName().toLowerCase();
		if (ss!="desktop"){
			if (MyUserTicket!=null){
				List<String> lst = new ArrayList<String>();
				if (MyUserTicket.getU_Type()!=0){	
					lst = Permission.CheckAndPermiss(MyUserTicket.getUserID(),super.getControllerName());					
				}else{
					for (String s:Permission.PopedomType().keySet()){
						lst.add(s);				
					}
				}
				Helpers.setPermission(lst);
			}
		}
		super.getRequest().setAttribute("Helpers", Helpers);
		
		return true;
	}	
	

 

过滤器调用

 

 

 @BeforeFilter(execute="Auth"),

 FTL中的调用如 

 

${Helpers.controller}
 

 

分享到:
评论

相关推荐

    前端开源库-jade-helpers

    "jade-helpers" 是一个专为前端开发者设计的开源库,尤其针对使用Jade(现在被称为Pug)模板引擎的项目。这个库提供了一系列实用的助手函数和工具,旨在简化开发过程,提高代码的可读性和维护性。由于它主要适用于...

    添加XBee模块通信协议的mavlink_helpers.h文件

    添加XBee模块通信协议的mavlink_helpers.h文件,已测试能实现PX4飞控和QGC地面站之间的连接。

    Laravel开发-lumen-helpers

    Lumen是Laravel的一个精简版,专为微服务和API开发设计,而Lumen-Helpers正是为了弥补两者之间功能上的差距,使开发者能更便捷地在Lumen上应用Laravel的一些成熟特性。 **1. Lumen框架介绍** Lumen是 Laravel ...

    前端开源库-hapi-pipeline-helpers

    5. **可插拔性**:hapi-pipeline-helpers的设计允许开发者轻松添加或移除处理步骤,适应不断变化的应用需求。 6. **测试友好**:通过这个库,开发者可以更容易地对请求处理链进行单元测试和集成测试,确保代码质量...

    System.Web.Helpers.dll

    System.Web.Helpers.dll

    knockout-amd-helpers

    knockout-amd-helpers正是这样一个为Knockout.js框架设计的插件,它帮助开发者更方便地利用AMD模式创建和管理可复用的组件。 Knockout.js是一款轻量级的MVVM(Model-View-ViewModel)库,用于构建富客户端应用。它...

    Laravel开发-laravel-form-helpers

    `laravel-form-helpers`是这样一个工具,它为开发者提供了一种更整洁、更易于管理的方式来处理表单的创建,特别是涉及到模型绑定、旧输入绑定和验证错误处理时。下面我们将深入探讨这些关键概念。 ### 模型绑定 ...

    dom-helpers, 小型模块化面向 IE8 的DOM helper 库.zip

    dom-helpers, 小型模块化面向 IE8 的DOM helper 库 dom助手用于 ie8 的微型模块 DOM lib安装npm i -S dom-helpers大多数只是普通的DOM API不一致性的包装器,跨浏览器 工作最小,大多数都是从 jQuery 。 这个库不...

    Laravel开发-laravel-helpers

    `laravel-helpers`是一个专门为Laravel设计的实用程序包,它提供了对Laravel核心包的一些getters和setters的支持,使得开发者能更方便地进行功能扩展和定制。这个包的一个关键特性是,当没有自定义实例提供时,它会...

    PyPI 官网下载 | python-labs-helpers-1.0.2.tar.gz

    `python-labs-helpers`是一个在PyPI上发布的Python库,版本号为1.0.2。这个库的名称暗示它是针对实验室环境或者开发者工作流程设计的一系列辅助工具。它可能包含了一些通用功能,如数据处理、测试辅助、日志记录等...

    获取本地化资源信息LocalizationHelpers

    例如,它可以将日期从“mm/dd/yyyy”格式转换为“dd/mm/yyyy”或“yyyy-mm-dd”。 5. **资源缓存**:为了提高性能,`LocalizationHelpers`可能会有一个内部缓存机制,用于存储已经加载的资源,避免频繁的文件读取...

    PyPI 官网下载 | astropy-helpers-3.2.1.tar.gz

    “astropy-helpers-3.2.1.tar.gz”这个压缩包包含了版本为3.2.1的Astropy助手模块,其文件结构通常包括源代码、文档、测试用例、安装脚本等。解压后,我们可以看到“astropy_helpers-3.2.1”目录,里面包含了如下...

    dustjs-helpers.zip

    dustjs-helpers 是 dustjs-linkedin 包的额外功能。你可以利用它来编写自己的助手工具和扩展 Dust 模板引擎的功能。 标签:dustjs

    前端开源库-maptalks-build-helpers

    【前端开源库-maptalks-build-helpers】是一款专为地图库maptalks.js及其插件设计的构建工具。在前端开发中,构建工具扮演着至关重要的角色,它们能够自动化处理源代码,如编译、压缩、合并以及版本管理等,从而提高...

    compound-sort-helpers_2.9.2-1.0.0.zip

    【标题】"compound-sort-helpers_2.9.2-1.0.0.zip" 提供的是一个名为 "compound-sort-helpers" 的组件,版本号为2.9.2-1.0.0。这个组件可能是一个软件库或工具,用于帮助实现复杂排序功能。 【描述】"vertxcombo....

    Laravel开发-helpers

    在Laravel框架中,"助手"(Helpers)指的是那些提供便利功能的全局函数或类,它们可以帮助开发者更高效地编写代码。Laravel 4中的助手功能丰富多样,涵盖了路由、响应、视图、日志等多个方面。下面我们将深入探讨...

    webpack-babel-external-helpers-2:Webpack插件,用于在使用babel-loader时自动将babel-external-helpers添加到条目中

    无需手动安装插件,无需在webpack配置中为babel-loader使用复杂的查询字符串语法,并创建要添加到webpack条目中的外部帮助程序模块(javascript代码)。 只需安装该软件包,并使webpack将其用作插件即可。 用法示例...

    pycharm_helpers:pycharm_helpers用于Docker容器

    1. **远程解释器配置**:`pycharm_helpers` 允许用户将 Docker 容器设置为 PyCharm 的远程 Python 解释器。这意味着开发者可以在本地 IDE 中编写代码,然后在 Docker 容器内执行和调试,无需关心本地环境与项目需求...

Global site tag (gtag.js) - Google Analytics