Java 访问Camel Freemarker ftl中的RequestParameters

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> <

我使用的是运行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>
 <#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>