2016-06-16 6 views
0

私は#end無効なトークン#END - ストラット速度

無効トークン #end

でエラーを取得する入力-protein.vmを

<html> 
     <head> 
     <meta http-equiv="CONTENT-TYPE" content="text/html; charset=ISO-8859-1"> 
     <title>Insert title here</title> 
     </head> 
     <body> 
     <h1> Enter Protein VELOCITY </h1> 

     #sform ("action = enter-protein") 
     #stextfield ("name=enteredProtein") 
     #ssubmit("value=Enter") 
     #end 
     <div>Amount entered: #sproperty ("value = enteredProtein")</div> 
     <div> Total for the day : 100 grms </div> 
     <div> #sproperty ("value=goalText")</div> 
     </body> 
    </head> 
</html> 

次のコードを配置私はまた、commons-collections-3.2.jar、velocity-1.6.2.jar、velocity-tools-view.2.0.jar

のような追加のディレクトリを含んでいました。
+0

コードをインデントした後、無効なHTML(2番目の ' ')が本体の後に閉じていることがわかります。つまり、 '#end'が何を閉じるべきかは明確ではありません。最後に、なぜあなたはjars * "ディレクトリ" *と呼んでいますか?ヘック –

+0

この質問は、もはや再現できない問題や簡単な誤植によって引き起こされました。同様の質問がここでは話題になるかもしれないが、これは将来の読者を助けるとは思わない方法で解決された。これは、転記する前に問題を再現するのに必要な最短のプログラムを特定して綿密に検査することによって回避することができます。 –

+0

なぜ '#end'が必要なのかをループしていないからです。私は終わりを取り除き、よく見える – soorapadman

答えて

0

#endマークは、ブロックの末尾が#if#foreach#macro、または#defineのいずれかで始まります。これらのどちらもテンプレートの残りの部分では使用されないため、コードに#endを使用する必要はありません。それを単に削除するだけで、エラーはなくなります。

おそらく、あなたは#sformをボディでマクロにしようとしていますか?その場合は#@sformと呼びますが、使用しているように見えるVelocity 1.6ではサポートされていません。

関連する問題