----------------------------------------------------------------------------------------------------
后来发现一个更为简便的方法
直接 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}
分享到:
相关推荐
System.Web.Helpers.dll
dom-helpers, 小型模块化面向 IE8 的DOM helper 库 dom助手用于 ie8 的微型模块 DOM lib安装npm i -S dom-helpers大多数只是普通的DOM API不一致性的包装器,跨浏览器 工作最小,大多数都是从 jQuery 。 这个库不...
Laravel开发-laravel-helpers Laravel 5的助手功能
knockout-amd-helpers
前端开源库-jade-helpers翡翠助手、各种有用的助手和翡翠调音台-目前仅适用于Nodemvc
Laravel开发-helpers Laravel 4-帮手
dustjs-helpers 是 dustjs-linkedin 包的额外功能。你可以利用它来编写自己的助手工具和扩展 Dust 模板引擎的功能。 标签:dustjs
Laravel开发-lumen-helpers 改进了Lumen和Laravel之间的互操作性。
获取本地化资源信息【LocalizationHelpers】
Laravel开发-laravel-form-helpers 以干净、简单的方式处理表单模型绑定、旧的输入绑定和验证错误消息。
添加XBee模块通信协议的mavlink_helpers.h文件,已测试能实现PX4飞控和QGC地面站之间的连接。
无需手动安装插件,无需在webpack配置中为babel-loader使用复杂的查询字符串语法,并创建要添加到webpack条目中的外部帮助程序模块(javascript代码)。 只需安装该软件包,并使webpack将其用作插件即可。 用法示例...
R-Shiny Lesson6 为了使用到percent_map,所下载的美国人口普查数据和helpers.R
php-test-helpers, PHP解释器简化PHP代码测试的扩展 注意:注意:是由 uopz 替代的。/test_helpersext/test_helpers 是PHP解释器的扩展,用于简化...安装ext/test_helpers 应该使用 pear 安装程序安装。 这个安装程序是
资源来自pypi官网。 资源全名:python-labs-helpers-1.0.2.tar.gz
资源来自pypi官网。 资源全名:astropy-helpers-3.2.1.tar.gz
资源分类:Python库 所属语言:Python 资源全名:txamqp-helpers-0.5.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
前端开源库-hapi-pipeline-helpersHAPI管道助手、HAPI管道助手