Beetl1.1 可以作为 Spring MVC 中另外一个视图技术选择

Spring MVC 中,多采用Freemarker作为视图层技术,主要是因为它功能强大,性能良好。现在我开发的Beetl模板语言也可以作为Spring MVC中的另外一个视图技术选择, 如果有兴趣,可以访问Beetl 主页 http://beetl.sourceforge.net/  。

 

以下文档节选自beetl指南 第四章

 

4. Spring MVC

4.1. 配置ViewResolver

为了能在Spring MVC中使用Beetl,必须配置ViewResolver,如下

 <bean id="beetlConfig" class="org.bee.tl.ext.spring.BeetlGroupUtilConfiguration" init-method="init">

<property name="root" value="/"/>

<property name="optimize" value="true"/>

<property name="nativeCall" value="true"/>

<property name="check" value="2"/>

</bean>

<bean id="viewResolver" class="org.bee.tl.ext.spring.BeetlSpringViewResolver">

</bean>

Root属性告诉Beetl 模板文件未WebRoot的哪个目录下,通常是/ ,默认是/

optimize 属性允许优化,预编译成class。默认是true

nativeCall 运行本地调用,默认是true

check 是每隔多少秒检测一下文件是否改变,设置较短时间有利于开发,在线上环境,设置为0,则不检查模板更新,默认是2秒

其他属性还有

tempFolder:预编译生成的源文件以及class的位置,默认是WebRoot/WEB-INF/.temp 目录下

占位符指定:statementStart,statementEnd,placeholderStart,placeholderEnd  默认分别是 <% %> ${ }

4.2. 模板中获取参数

Spring MVC中,任何在ModelMap中的变量都可以直接在Beetl中引用,在Session中的变量,需要使用session["变量名"]

 

如下HelloWorldController 代码

 

@Controller

@SessionAttributes("currUser"

public class HelloWorldController {

@RequestMapping("/hello")

public ModelAndView helloWorld(ModelMap model ) {

String message = "Hello World, Spring 3.0!";

model.addAttribute("name","joel");

model.addAttribute("currUser","libear");

return new ModelAndView("/hello.html""message", message);

}

}

则在模板中,访问name,message,currUser分别采用如下方式

${name},${message},${session["currUser"]}

 

 

你可能感兴趣的:(spring)