ColdFusion 中的 If null 语句

If null statement in ColdFusion

我想说的是如果这个 makeCodeNumber 被定义并且不为空使用这个

<cfpdfformparam name="make" value="#session.checkout.vehicle.makeCodeNumber#">

但如果它为空(或空)则使用此

<cfpdfformparam name="make" value="#session.checkout.vehicle.vehiclemake#">

全部代码

<cfif isDefined("session.checkout.vehicle.makeCodeNumber")>
  <cfif len(trim("session.checkout.vehicle.makeCodeNumber"))>
    <cfpdfformparam name="make" value="#session.checkout.vehicle.makeCodeNumber#">
  <cfelse>
    <cfpdfformparam name="make" value="#session.checkout.vehicle.vehiclemake#">
  </cfif>
</cfif>

我在转储变量时显示它为空(或空字符串),但出于某种原因我必须忽略一些东西,因为当它为空时它仍然只通过 <cfpdfformparam name="make" value="#session.checkout.vehicle.makeCodeNumber#"> 而不是 <cfpdfformparam name="make" value="#session.checkout.vehicle.vehiclemake#">.

如有任何帮助,我们将不胜感激!

您计算的是字符串 "session.checkout.vehicle.makeCodeNumber" 的 len(trim()),而不是变量 session.checkout.vehicle.makeCodeNumber 的值。您需要在第二个 if 语句

中删除 "
<cfif isDefined("session.checkout.vehicle.makeCodeNumber")>
  <cfif len(trim(session.checkout.vehicle.makeCodeNumber))>
    <cfpdfformparam name="make" value="#session.checkout.vehicle.makeCodeNumber#">
  <cfelse>
    <cfpdfformparam name="make" value="#session.checkout.vehicle.vehiclemake#">
  </cfif>
</cfif>