fex-team / fis-velocity-tools

Like velocity-tools, we focus on the front-end integrated solution.
29 stars 23 forks source link

关于require资源定位问题 #23

Closed lenxeon closed 8 years ago

lenxeon commented 8 years ago

刚使用jello

spring的配置,resourceLoaderPath配置如下

<bean id="fisInit" class="com.baidu.fis.velocity.spring.FisBean"/>

    <bean id="velocityConfig" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
        <property name="resourceLoaderPath" value="/WEB-INF/views/"/>
        <property name="velocityProperties">
            <props>
                <prop key="input.encoding">utf-8</prop>
                <prop key="output.encoding">utf-8</prop>
                <!--<prop key="resource.loader">file</prop>-->
                <!--<prop key="file.resource.loader.path">/</prop>-->
                <prop key="userdirective">
                    com.baidu.fis.velocity.directive.Html, com.baidu.fis.velocity.directive.Head,
                    com.baidu.fis.velocity.directive.Body, com.baidu.fis.velocity.directive.Require,
                    com.baidu.fis.velocity.directive.Script, com.baidu.fis.velocity.directive.Style,
                    com.baidu.fis.velocity.directive.Uri, com.baidu.fis.velocity.directive.Widget,
                    com.baidu.fis.velocity.directive.Block, com.baidu.fis.velocity.directive.Extends
                </prop>
                <!--<prop key="file.resource.loader.class">org.apache.velocity.tools.view.servlet.WebappLoader</prop>-->
                <!--<prop key="file.resource.loader.cache">false</prop>-->
                <!--<prop key="file.resource.loader.modificationCheckInterval">1</prop>-->
                <prop key="velocimacro.library">macro.vm</prop>
            </props>
        </property>
    </bean>

    <bean class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
        <property name="order" value="1"/>
        <property name="cache" value="true"/>
        <property name="prefix" value=""/>
        <property name="suffix" value=".vm"/>
        <property name="cacheUnresolved" value="false"/>
        <property name="exposeSpringMacroHelpers" value="true"/>
        <property name="contentType" value="text/html;charset=UTF-8"/>
        <property name="attributesMap">
            <map>
                <entry key="esc">
                    <bean class="org.apache.velocity.tools.generic.EscapeTool"/>
                </entry>
                <entry key="render">
                    <bean class="org.apache.velocity.tools.generic.RenderTool"/>
                </entry>
                <entry key="link">
                    <bean class="org.apache.velocity.tools.generic.LinkTool"/>
                </entry>
                <!--其他你觉得有用的 velocity tools-->
            </map>
        </property>
    </bean>

下图是开发目录,大部分代码都是从demo中复制的 image

开发路径中 image

发布后

#extends("page/layout/front.vm")

控制器 image

访问时 image

2betop commented 8 years ago

目测是 map.json 没有读取到。

在 web.xml 里面加个 listener, 参考下 jello 自带的服务器里面 web.xml 的配置。

lenxeon commented 8 years ago

@2betop 您好,折腾一了通,最后下载了源码重新编译过后加上了些日志输出,发现可以用了。