En ColdFusion, ¿cómo puedo determinar si existe una variable dentro de la cadena de consulta sin lanzar un error al intentar verificarla?En ColdFusion, ¿cómo puedo determinar si existe una variable de cadena de consulta?
Respuesta
Hay dos opciones.
La primera es utilizar cfparam para definir un valor predeterminado, por ejemplo:
<cfparam name="url.varname" type="string" default="" />
Esto asegura que siempre se puede hacer referencia a url.varname
La segunda es utilizar isDefined o structKeyExists para probar la presencia de la variable:
<cfif isDefined("url.varname") and url.varname eq 42> do something </cfif>
o
<cfif structKeyExists(url, "varname") and url.varname eq 42> do something </cfif>
He utilizado este enfoque en muchos lugares.
En la parte superior de la página:
<cfparam name="request.someVal" default="request.defaultVal">
Más adelante en la etiqueta de la página o la costumbre, para comprobar el valor de la variable request.someVal, sin temor a que chocar, ya que tiene un valor por defecto.
<cfif ("request.someVal" eq "something")>
...
</cfif>
.
.
.
Esto funcionó para mí, especialmente porque quiero que mi página tenga un comportamiento predeterminado para las ocasiones en que no hay valores de cadena de consulta. – Ectropy
En <cfscript>
, puede
param url.varname; // throws error if it does not exist
param url.varname = ""; // sets value it was not already set
- 1. ¿Cómo puedo verificar si existe una cadena en otra cadena?
- 2. ¿Cómo se prueba para ver si existe una variable en una estructura de ColdFusion?
- 3. Usando consulta SQL para determinar si existe una tabla
- 4. ¿Cómo puedo verificar si existe una variable en Scheme?
- 5. ¿Cómo puedo verificar si existe una cadena en una matriz?
- 6. ¿Cómo usar Strpos para determinar si existe una cadena en la cadena de entrada?
- 7. ¿Cómo puedo determinar si existe un subdirectorio en C#?
- 8. determinar si existe $ _SESSION superglobal en PHP
- 9. Averiguar si existe una variable
- 10. Cómo convertir columna de consulta a una lista en ColdFusion
- 11. Unirse si existe en una consulta MySQL
- 12. Cómo determinar si es una subcadena en una cadena diferente
- 13. ¿Cómo puedo determinar si existe una función de base de datos en SQL Server?
- 14. pase una variable de cadena en una consulta gql
- 15. ¿Cómo puedo eliminar etiquetas HTML de una cadena ColdFusion?
- 16. ¿Cómo determinar si la variable es una función en Python?
- 17. ¿Cómo puedo determinar si existe una función Perl en el tiempo de ejecución?
- 18. ¿Cómo puedo determinar si una cadena es una cadena de carpeta local o una cadena de red?
- 19. ¿Cómo puedo determinar si una URL redirige?
- 20. ¿Puedo obtener una consulta fila por índice en ColdFusion?
- 21. Cómo determinar si una cadena contiene una subcadena específica
- 22. iPhone: ¿Cómo comprobar si existe una subcadena en una cadena?
- 23. ¿Cómo puedo determinar si existe una página web con scripts de shell?
- 24. Cómo determinar si una cadena es un número en C#
- 25. ¿Cómo puedo determinar si existe un hash git dado en una rama determinada?
- 26. ¿Cómo puedo determinar si un objeto o referencia tiene una coerción de cadena válida?
- 27. ColdFusion: ¿Múltiples declaraciones SQL en una consulta?
- 28. Determinar si una cadena está "vacía"
- 29. php is_function() para determinar si una variable es una función
- 30. javascript: defina una variable si no existe
una forma más de CF9: isNull (url.varname) – Henry
Un buen truco con CFPARAM es sólo para usar name = "code" en lugar de name =" url.varname "- luego validará que varname existe como una var url o una var var. Hace que cambiar entre GET y POST sea fácil. – kevink
@kevink, ese es un camino peligroso para bajar. Si la variable no está definida en los alcances de URL o FORM, CFParam lo creará en el ámbito VARIABLES. Hay efectos secundarios significativos pero matizados de esto, y realmente necesita estar al tanto de lo que realmente está sucediendo para asegurar la confiabilidad de su aplicación. –