A while back I wrote some CFML code to dump the Java System Properties, the code went something like this:
<cfset system = CreateObject("java", "java.lang.System")>
<!--- properties is a java.util.Properties object --->
<cfset properties = system.getProperties()>
<!--- propNames is a java.util.Enumeration --->
<cfset propNames = properties.propertyNames()>
<cfoutput>
<cfloop condition="propNames.hasMoreElements()">
<cfset propName = propNames.nextElement()>
<strong>#propName#</strong> = #system.getProperty(propName)#<br />
</cfloop>
</cfoutput>
That works (the code didn't work in until CFMX 6.1, see this post), but I realized today as I wanted to display the results in a table much like the way CFDUMP works - that a java.util.Properties object is a java.util.Dictionary, and a ColdFusion structure is a Dictionary so I can probably CFDUMP a Properties object. And you can infact CFDUMP a Properties object or any Hashtable, and it will output the values in a table just like a structure. So now I can dump the java system properties in a table with only two lines of code:
<cfset system = CreateObject("java", "java.lang.System")>
<cfdump var="#system.getProperties()#">
Comments
Actually you can do this in just one line if you really want to: <cfdump var="#CreateObject("java", "java.lang.System").getProperties()#">
The static method setProperty("jdbc.drivers","org.hsqldb.jdbcDriver") This works however the changes don't stay around. Is there anyway to edit and get CF to see the changes? Thanks D