velocityの中のvelocityCounterが機能しない原因

1981 ワード

今日はorg.springframe ewark.ui.velocity.VelocityEngine FactoryBeanを使う時、velocityCounterという変数の時は死活して機能しません.長い間苦しめてもだめです.ネット上では何の資料も見つけられません.以前は元の生態を使ってspringと統合しない時はまだ大丈夫です.しょうがないです.きちんとソースをダウンロードして見ました.
   最後に、元の配置ファイルの原因であることが分かりました.
一部のソースコード
RuntimeConstants



    /** Counter reference name in #foreach directives. */

    String COUNTER_NAME = "directive.foreach.counter.name";



org.apache.velocity.runtime.directive.Foreach





    counterName = rsvc.getString(RuntimeConstants.COUNTER_NAME);

        counterName = rsvc.getString(RuntimeConstants.COUNTER_NAME);

        hasNextName = rsvc.getString(RuntimeConstants.HAS_NEXT_NAME);

        counterInitialValue = rsvc.getInt(RuntimeConstants.COUNTER_INITIAL_VALUE);

 if (!"velocityCount".equals(counterName))
これは変数名です.私の設定ファイルです.
<bean id="velocityEngine" class="org.springframework.ui.velocity.VelocityEngineFactoryBean">

		<property name="resourceLoaderPath" value="classpath*:template" />

        <property name="velocityProperties">

			<props>

				<prop key="resource.loader">class</prop>

				<prop key="class.resource.loader.class">org.apache.velocity.runtime.resource.loader.ClasspathResourceLoader</prop>

				<prop key="velocimacro.library" />

				<prop key="directive.foreach.counter.name">loopCounter</prop>

				<prop key="directive.foreach.counter.initial.value">1</prop>

				<prop key="file.resource.loader.cache">true</prop>

				<prop key="parser.pool.size">50</prop>

				<prop key="input.encoding">UTF-8</prop>

				<prop key="output.encoding">UTF-8</prop>

			</props>

		</property>

    </bean>
loopCounterに設定されていますので、loopCounterを使わなければなりません.