J'utilise <cfproperty />
pour utiliser getters et setters dans ColdFusion (Railo).Comment puis-je ajouter à un ensemble struct dans CFPROPERTY?
Cependant, pour les valeurs plus complexes comme les structures et les réseaux, comment puis-je les ajouter?
<cfproperty name="settings" type="struct" />
Comment puis-je ajouter un élément dans la propriété appelée paramètres? Si je fais ce qui suit:
<cfset setSettings(structAppend(getSettings(), { "hello" = "world" })) />
Je reçois l'erreur suivante:
java.lang.NullPointerException
Suis-je manque quelque chose ici? Je suis nouveau sur le tag cfproperty et je pensais que ce serait un gain de temps, mais je ne peux pas comprendre cela.
En bonus, comment définir une valeur par défaut pour ces types de données complexes?
Merci, Mikey
Il semble que votre dernier point résolu la question. Je ne savais pas que je devais explicitement définir() le type comme ça. Je suppose que l'attribut type gérera cela. Merci! –
Les propriétés sont déclarées mais non initialisées. Si vous lancez le getter avant de l'initialiser, il renvoie un null (et détruira toute variable que vous essayez de lui donner), mais dans certains cas, il est traité comme une chaîne vide ('len (getSomeProperty()) == 0') . J'utilise une fabrique de haricots pour initialiser automatiquement les propriétés 'struct' et' array'. – imthepitts