我想将此行从Velocity转换为Freemarker:
#set ($valid_portlet_description = $validator.isNotNull($portlet_description)
&& $portlet_description.indexOf('javax.portlet.description') == -1)
我尝试将代码更改为:
<#assign valid_portlet_description = validator.isNotNull(portlet_description)
&& portlet_description?index_of("javax.portlet.description") == "-1" />
但我得到以下错误:
freemarker.template.TemplateException
:唯一合法的比较是 两个数字,两个字符串或两个日期之间。左手操作数是freemarker.template.SimpleNumber
右手操作数是afreemarker.template.SimpleScalar
答案 0 :(得分:1)
该消息抱怨这句话:
SOAP::Data->type('string')->name('Desc')->value( 'Test'),
它表示您有不同的类型:左侧的数字,但右侧是portlet_description?index_of("javax.portlet.description") == "-1"
(在Freemarker条款中只是SimpleScalar
)。要解决此问题,您应该删除引号:
String