在ColdFusion中,如何確定查詢字符串中是否存在一個變量而不會嘗試檢查它時發生錯誤?在ColdFusion中,如何確定查詢字符串變量是否存在?
8
A
回答
29
有兩種選擇。
首先是使用cfparam來定義默認值,例如:
<cfparam name="url.varname" type="string" default="" />
這可確保你總是可以參考url.varname
二是使用isDefined或structKeyExists以測試可變的存在:
<cfif isDefined("url.varname") and url.varname eq 42> do something </cfif>
或
<cfif structKeyExists(url, "varname") and url.varname eq 42> do something </cfif>
1
我在很多地方都用過這種方法。
在頁面的頂部:
<cfparam name="request.someVal" default="request.defaultVal">
頁面或自定義標籤以後,請檢查request.someVal變量的值,而不用擔心它崩潰,因爲它有一個默認值。
<cfif ("request.someVal" eq "something")>
...
</cfif>
.
.
.
+0
這對我有用,特別是因爲我希望我的頁面在沒有查詢字符串值時有一些默認行爲。 – Ectropy 2015-08-13 16:51:23
0
在<cfscript>
,你可以
param url.varname; // throws error if it does not exist
param url.varname = ""; // sets value it was not already set
相關問題
- 1. 查找字符串是否在變量
- 2. 如何確定字典中是否存在非空字符串?
- 3. 如何檢查特定字符串是否在變量字節變量
- 4. 如何在變量中存儲查詢字符串值
- 5. htaccess重定向如果查詢字符串變量存在
- 6. 如何使用Regex檢查字符串變量中是否存在一個字符串變量?
- 7. 如何檢查查詢字符串是否已經存在
- 8. 如何查找子字符串是否在awk中的變量
- 9. 如何檢查常量中是否存在字符串
- 10. 是否可以在查詢的ColdFusion查詢中執行字符串連接?
- 11. 如何檢查特定ID是否存在於字符串中
- 12. 如何確定字符串變量的值是否在C#中更改?
- 13. 如何使用if語句確定字符串是否在變量中?
- 14. 在查詢的coldfusion查詢中是否存在左連接?
- 15. 如何檢查字符串中是否存在特定的子字符串?
- 16. 如何查找字符串中是否存在大寫字符?
- 17. 如何檢查字符串是否存在於變量輸出中?
- 18. 檢查變量是否存在於json字符串
- 19. PHP帶字符串並檢查該字符串是否作爲變量存在
- 20. 如何檢查是否字符串出現在變量的jQuery
- 21. 如何檢查其他變量的字符串定義中是否存在變量?
- 22. 查看字符串中是否存在特定字符SAS
- 23. 檢查href是否存在jQuery中的查詢字符串
- 24. 在查詢字符串調整變量
- 25. 檢查變量是否是字符串或數組在Twig中
- 26. 檢查確切的子字符串是否在字符串中
- 27. 如何檢查子字符串是否存在或不在主字符串中
- 28. 如何在查詢中使用字符串連接變量?
- 29. 如何在查詢字符串中設置Fitnesse變量
- 30. 如何在wordpress查詢字符串中使用javascript變量?
的另一種方式CF9:ISNULL(url.varname) – Henry 2010-02-25 23:49:36
一個絕招與cfparam只是用名字= 「varname的」,而不是名稱=」 url.varname「 - 然後它會驗證該varname是否存在爲url var或表單var。使GET和POST之間的切換變得簡單。 – kevink 2010-02-26 12:19:45
@kevink,這是一個危險的道路。如果變量未在URL或FORM範圍中定義,則CFParam將在VARIABLES範圍內創建它。這有一些重大而細微的副作用,並且您確實需要了解實際發生的情況,以確保應用程序的可靠性。 – 2010-02-26 14:38:22