velocity 变量 获取_velocity 怎么得到项目根路径

关于Spring与Velocity结合的问题(获得request,session)

视图解析器的一些属性

class="org.springframework.web.servlet.view.InternalResourceViewResolver">

在 视图解析器的定义中,"exposeSpringMacroHelpers"设置是否通过Spring的宏库暴露一个RequestContext(名为 springBindRequestContext)供外部使用,默认值为false。它暴露了处理表单和验证错误信息的宏操作;

"requestContextAttribute" 把Spring的RequestContext对象暴露为变量rc。利用${rc.contextPath}来获取应用程序的contextPath(也 就是/MyUsers);利用${rc.getMessage("user.name")}读取/WEB- INF/classes/messages.properties本地化信息。此对象对于那些不访问serlvet请求的View技术(也就是 Velocity和FreeMarker模板)来说是必不可少的。

还有一些属性:

exposeRequestAttributes:默认值false,设置是否所有的request属性在与模板进行合并之前添加到model中。(可以理解为request范围内包含的所有对象,而不是一个真正的Request对象。)

exposeSessionAttributes:默认值false,设置是否所有的session属性在与模板进行合并之前添加到model中。(理解同上)

2013年5月27日 12:57

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Velocity 中,本地文件路径指的是相对于当前工作目录或者绝对路径的文件路径,用于加载模板文件或者读取资源文件等操作。本地文件路径可以是相对路径或者绝对路径,具体取决于使用时的上下文环境。 如果是在 Java 应用程序中使用 Velocity,通常可以使用相对路径或绝对路径来指定本地文件路径。相对路径是相对于当前工作目录的路径,可以使用 "." 或 ".." 表示上级或下级目录。绝对路径是从目录开始的路径,可以使用 "/" 或 "C:\\" 等表示。 以下是一个使用相对路径的例子: ```java import org.apache.velocity.Template; import org.apache.velocity.VelocityContext; import org.apache.velocity.app.Velocity; import java.io.BufferedWriter; import java.io.FileWriter; import java.io.IOException; public class VelocityExample { public static void main(String[] args) { Velocity.init(); // 初始化 Velocity 引擎 VelocityContext context = new VelocityContext(); // 创建 Velocity 上下文对象 context.put("name", "Velocity"); // 添加模板变量 Template template = Velocity.getTemplate("template.vm"); // 加载模板文件,使用相对路径 // 如果模板文件在当前工作目录的 subdirectory 目录下,可以使用 "subdirectory/template.vm" try (BufferedWriter writer = new BufferedWriter(new FileWriter("output.txt"))) { template.merge(context, writer); // 渲染模板并输出到文件中 } catch (IOException e) { e.printStackTrace(); } } } ``` 在上面的例子中,我们使用了相对路径 "template.vm" 来指定模板文件的位置。这里假设模板文件位于当前工作目录下,可以使用 "." 来表示当前工作目录。如果模板文件在当前工作目录的 subdirectory 目录下,可以使用 "subdirectory/template.vm"。 需要注意的是,在使用相对路径时,要确保当前工作目录的正确性。如果不确定当前工作目录,可以使用 System.getProperty("user.dir") 方法来获取当前工作目录的路径。 如果使用绝对路径来指定本地文件路径,可以直接指定文件的绝对路径,例如: ```java Template template = Velocity.getTemplate("/absolute/path/to/template.vm"); ``` 在上面的例子中,我们使用了绝对路径 "/absolute/path/to/template.vm" 来指定模板文件的位置。这里假设模板文件位于目录下的 absolute/path/to 目录中。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值