私はFreemarkerを使用してLiferayアプリケーション表示テンプレートを構築しています。テンプレートは、ループを使用してエンティティの集合(ジャーナル記事)を反復処理します。テンプレートは、タイプの日付と時間のいくつかの変数を使用します。これらの変数をリセットするか、ループの各反復で「空」をチェックするにはどうすればよいですか?Freemarkerの時間変数にNULLまたは "空"の値を割り当てる方法は?
我々はループ内でこのコードを持っているとしましょう、それは「starthourは」ループの一部Interationsに空になる場合があります:私は0にSTARTTIME設定している。この例では
<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='start_hour']") />
<#assign starthour = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim />
<#assign xPathSelector = saxReaderUtil.createXPath("dynamic-element[@name='start_minutes']") />
<#assign startminutes = xPathSelector.selectSingleNode(rootElement).getStringValue()?trim />
<#if starthour!="">
<#assign startTimeString= starthour +":"+startminutes>
<#assign starttime = startTimeString?time["HH:mm"]>
<#else>
<#assign starttime = 0>
</#if>
が、 starthourが空のときに空のStringとして設定しようとしました。
私はすでに「空」変数をチェックするためにこれらの方法を試してみました:変数は一度私のループで設定された後
<#if (starttime >0) >
<#if starttime.has_content>
<#if starttime!="">
私は
<#if starttime??>
を確認することができません。私はLiferayの中で私のスクリプトを使用するとき、私はいつも、このようなエラーを取得してみてくださいどのような:
The only legal comparisons are between two numbers, two strings, or two dates.
Left hand operand is a freemarker.template.SimpleDate
Right hand operand is a freemarker.template.SimpleNumber
それでは、どのように私は時間変数を「リセット」または「空」、それのための価値、そしてどうかを確認する方法を設定してください空の(しかしNullではない)時間値?