我今天参加了这个blog
http://www.blogjava.net/liuwentao253/archive/2007/09/23/147563.html
 做了下Spring+freeer  国际化   但是失败了, 请大家先看看那个博客的内容。我首先报的错是:
Error reading imported file includes/spring.ftl
The problematic instruction:
----------
==> import "/index/spring.ftl" as spring [on line 1, column 1 in ok.html]
----------Java backtrace for programmers:
----------
freeer.template.TemplateException: Error reading imported file index/spring.ftl
at freeer.core.LibraryLoad.accept(LibraryLoad.java:122)
at freeer.core.Environment.visit(Environment.java:196)
at freeer.core.MixedContent.accept(MixedContent.java:92)
at freeer.core.Environment.visit(Environment.java:196)
at freeer.core.Environment.process(Environment.java:176)
.....
Caused by: java.io.FileNotFoundException: Template index/spring.ftl not found.
at freeer.template.Configuration.getTemplate(Configuration.java:489)
at freeer.core.Environment.getTemplateForInclusion(Environment.java:1357)
at freeer.core.Environment.getTemplateForImporting(Environment.java:1411)
at freeer.core.LibraryLoad.accept(LibraryLoad.java:112)
... 119 more这个错说 没有找到spring.ftl 
我修改成我的模板文件头部
<#import "spring.ftl" as spring/>修改了之后就找到了。但是报的错是:
Error reading imported file index/spring.ftl
The problematic instruction:
----------
==> import "/index/spring.ftl" as spring [on line 1, column 1 in ok.html]
----------Java backtrace for programmers:
----------
freeer.template.TemplateException: Error reading imported file index/spring.ftl
at freeer.core.LibraryLoad.accept(LibraryLoad.java:122)
at freeer.core.Environment.visit(Environment.java:196)
at freeer.core.MixedContent.accept(MixedContent.java:92)
at freeer.core.Environment.visit(Environment.java:196)
at freeer.core.Environment.process(Environment.java:176)
at freeer.template.Template.process(Template.java:232)
at com.cgt.itspiderman.action.test.StaticFreeer.init(StaticFreeer.java:40)
at com.cgt.itspiderman.action.test.PersonAction.save(PersonAction.java:58)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:404)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:267)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:229)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:221)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:150)
at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:48)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:123)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:186)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:86)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:105)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:223)
at com.opensymphony.xwork2.util.profiling.UtilTimerStack.profile(UtilTimerStack.java:455)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:221)
at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:83)
at com.opensymphony.xwork2.DefaultActionInvocation$2.doProfiling(DefaultActionInvocation.java:224)
 .............
Caused by: java.io.FileNotFoundException: Template index/spring.ftl not found.
at freeer.template.Configuration.getTemplate(Configuration.java:489)
at freeer.core.Environment.getTemplateForInclusion(Environment.java:1357)
at freeer.core.Environment.getTemplateForImporting(Environment.java:1411)
at freeer.core.LibraryLoad.accept(LibraryLoad.java:112)
... 119 moreError reading imported file index/spring.ftl
The problematic instruction:
----------
==> import "/index/spring.ftl" as spring [on line 1, column 1 in ok.html]
----------Java backtrace for programmers:
----------
freeer.template.TemplateException: Error reading imported file index/spring.ftl
at freeer.core.LibraryLoad.accept(LibraryLoad.java:122)
at freeer.core.Environment.visit(Environment.java:196)
at freeer.core.MixedContent.accept(MixedContent.java:92)
at freeer.core.Environment.visit(Environment.java:196)
............
我的applicationContext.xml   <bean id="messageSource" 
        class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basenames">
            <list>
                <value>messages</value>
            </list>
        </property>
    </bean>messages.properties 和messages_zh_CN.properties  内容都是如下
title=SpringTest
heading=Spring :: Test
greeting=Hello, It is now 模板的内容和那个博客里的内容是一样的