Java 访问Camel Freemarker ftl中的RequestParameters
我使用的是运行camel freemarker 2.8.0.fuse-06-11版的Servicemix 4.4.1。在我的ftl文件中,我需要根据请求url中是否存在查询字符串来使用条件路由 例如: 如果url附加了查询字符串“?wsdl”-->,那么ftl应该路由到不同的处理器,而不是正常情况。为了实现这一点,我在ftl文件中有以下配置Java 访问Camel Freemarker ftl中的RequestParameters,java,spring,apache-camel,freemarker,Java,Spring,Apache Camel,Freemarker,我使用的是运行camel freemarker 2.8.0.fuse-06-11版的Servicemix 4.4.1。在我的ftl文件中,我需要根据请求url中是否存在查询字符串来使用条件路由 例如: 如果url附加了查询字符串“?wsdl”-->,那么ftl应该路由到不同的处理器,而不是正常情况。为了实现这一点,我在ftl文件中有以下配置 <choice> <when> <#list RequestParameters?keys as key> <
<choice>
<when>
<#list RequestParameters?keys as key>
<#if key == '_wsdl'>
<to uri="wsdlProviderProcessor">
</#if>
</#list>
</when>
<otherwise>
//do something else here
</otherwise>
</choice>
据我所知,它无法访问RequestParameters变量。我尝试使用多种方法,包括“request”和${RequestParameters[''']}等变量,如以下链接所示。但是每次我的代码出错时都会显示相同的错误消息
如能深入了解上述问题,将不胜感激 如果没有文档帮助,请尝试:
<#list .data_model?keys as varName>
${varName}
</#list>
${varName}
如果它工作并且返回所有变量,那么它是非常特定于数据模型的。因此,如果失败,您可以在freemarker.template.template.process
处放置一个断点,以查看作为数据模型传递给模板的内容
<#list .data_model?keys as varName>
${varName}
</#list>