Discuz! Board

标题: 研究java的变量的值是怎么写进velocity的环境中的 [打印本页]

作者: zangcf    时间: 2016-3-1 22:06
标题: 研究java的变量的值是怎么写进velocity的环境中的
1,先看一边黎活明的视频。

作者: zangcf    时间: 2016-3-1 22:28
velocity的resourceLoaderPath配置怎么有两个:
[attach]91[/attach]
但是,怎么起作用的目录确是这个?
[attach]92[/attach]

作者: zangcf    时间: 2016-3-1 22:37
配置velocity向浏览器输出内容编码:        <bean id="viewResolver"
                class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
                <property name="viewClass"
                        value="org.springframework.web.servlet.view.velocity.VelocityView" />
                <property name="contentType">
                        <value>text/html;charset=UTF-8</value>
                </property>
        </bean>


作者: zangcf    时间: 2016-3-1 22:46
本帖最后由 zangcf 于 2016-3-1 22:47 编辑

如下个例子:
Velocity是一个基于java的模板引擎(template engine),它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
配置:
1.在pom.xml增加依赖的velocity包
[html] view plain copy print?
<dependency>  
    <groupId>velocity</groupId>  
    <artifactId>velocity</artifactId>  
    <version>1.5</version>  
</dependency>  

2.在servlet-context.xml中增加以下内容,如果有jsp的配置先注释掉
[html] view plain copy print?
<beans:bean id="velocityConfig"  
<span style="white-space:pre">  </span>class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">  
    <beans:property name="resourceLoaderPath" value="/WEB-INF/views" />  
    <beans:property name="configLocation" value="classpath:common/velocity.properties" />  
</beans:bean>  
  
<beans:bean id="velocityViewResolver"  
    class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">  
    <beans:property name="suffix" value=".htm" />  
</beans:bean>  

3.在resources/common目录下创建velocity.properties
[html] view plain copy print?
#encoding  
input.encoding  =UTF-8  
output.encoding=UTF-8  
contentType=text/html;charset=UTF-8  
  
#autoreload when vm changed  
file.resource.loader.cache=false  
file.resource.loader.modificationCheckInterval  =1  
velocimacro.library.autoreload=false  

4.新建testController
[java] view plain copy print?
@RequestMapping(value="/test")  
@Controller  
public class TestController {  
    @RequestMapping(value="/index")  
    public String index(Model model) {  
        String name = "tester";  
        model.addAttribute("name", name);  
        return "test/index";  
    }  
}  

5.新建test/index.htm模板
<html>
<head>
</head>
<body>
hello $name!
</body>
</html>

6.访问http://localhost/test/index
显示 hello tester!================================
使用model.addAttribute("name", name);把对象加入
在模板中使用方法$name使用





欢迎光临 Discuz! Board (http://47.89.242.157:9000/bbs/discuz/) Powered by Discuz! X3.2