主题 : spring mvc中在freemarker中也可以直接使用${base}吗
级别: 商业授权用户
UID: 3806
积分:91 加为好友
威望: 0 精华: 0
主题:9 回复:38
注册时间:2010-03-01
在线时长:0
1#   发表于:2011-01-17 22:52:14  IP:222.127.*.*
只知道struts2中可以直接使用${base},看到jeecms3中也有好多地方直接使用${base}的,在初始化的呢,还是spring mvc中内置了${base}
级别: 童生
UID: 5037
积分:30 加为好友
威望: 0 精华: 0
主题:1 回复:26
注册时间:2010-03-29
在线时长:0
2#   发表于:2011-01-18 22:59:35  IP:117.83.*.*
当然是初始化的时候了,spring怎么可能内置个base呢!
级别: 商业授权用户
UID: 3806
积分:91 加为好友
威望: 0 精华: 0
主题:9 回复:38
注册时间:2010-03-01
在线时长:0
3#   发表于:2011-01-19 08:28:14  IP:222.54.*.*
没有找到在哪设置这个base值的,有童鞋知道不
级别: 童生
UID: 254
积分:36 加为好友
威望: 0 精华: 0
主题:2 回复:24
注册时间:2009-07-09
在线时长:0
4#   发表于:2011-02-15 22:08:10  IP:182.58.*.*
${base}是freemarker自带的。
 Freemarker用 ${base} 取得根路径

${base}只相当于request.getContextPath(),
只是应用程序上下文路径。
完整的应该是这样,如在jsp页面中采用的这种方式:
String path = request.getContextPath();  
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; 



详情可看 http://blurm.javaeye.com/blog/252166
级别: 商业授权用户
UID: 3806
积分:91 加为好友
威望: 0 精华: 0
主题:9 回复:38
注册时间:2010-03-01
在线时长:0
5#   发表于:2011-04-16 09:46:54  IP:113.149.*.*
经过分析源代码,找到base在哪里设置值的了

public class RichFreeMarkerView extends FreeMarkerView {
/**
 * 部署路径属性名称
 */
public static final String CONTEXT_PATH = "base";

/**
 * 在model中增加部署路径base,方便处理部署路径问题。
 */
@SuppressWarnings("unchecked")
protected void exposeHelpers(Map model, HttpServletRequest request)
throws Exception {
super.exposeHelpers(model, request);
model.put(CONTEXT_PATH, request.getContextPath());
}
}
1 共1页