我正在尝试运行以下内容:if:
:if =“$ {camelContext.getRouteStatus(route.id)}& eq;'嘿'
但是我收到了这个错误:
org.thymeleaf.exceptions.TemplateProcessingException:无法解析为表达式:“$ {camelContext.getRouteStatus(route.id)}& neq;'嘿'”(骆驼:92)
但是,如果我尝试
:if =“$ {camelContext.getRouteStatus(route.id)}> 41”
我得到了一个不同的错误,但现在表明它能够解析表达式,只是它无法比较字符串和数字:
无法从表达式“$ {camelContext.getRouteStatus(route.id)}> 41”执行GREATER。左边是“已开始”,右边是“41”(骆驼:92)
没关系,我只是想检查一下我是否正确编写语法,而且我不想比较数字,我想比较一下RouteStatus字符串。
无论如何,也许有人可以帮我解决这个问题?基本上我想在字符串的内容上做一个if-else,但是我不能让它工作..
干杯
答案 0 :(得分:0)
您的表达似乎格式不正确,但这可能是复制粘贴问题。
您可以尝试:th:if="${camelContext.getRouteStatus( route.id ) eq 'Hey'}
吗?
答案 1 :(得分:0)
你试过这个:
th:if="${camelContext.getRouteStatus( route.id )} == 'Hey'"
也许它会像这样工作?
百里香的例子显示了类似的东西: 表达式中的值可以像往常一样与>,<,> =和< =符号进行比较,并且==和!=运算符也可用于检查相等性(或缺少它)。注意,XML确定<和>不应在属性值中使用符号,因此它们应替换为<和>。
th:if="${prodStat.count} gt; 1"
th:text="'Execution mode is ' + ( (${execMode} == 'dev')? 'Development' : 'Production')"
尽管其中一些运算符存在文本别名:gt(>),lt(<),ge(> =),le(< =),而不是(!)。另外,eq(==),neq / ne(!=),坚持旧时尚运营商有时候会更好。