<html>
<head>
<title>System properties</title>
</head>
<body>

<h1>System properties</h1>
<% keys = System.getProperties().keySet();
   if (keys.isEmpty()) {
     out.println('No keys.');
   }
   else {
  %>
<dl>
    <% for (key in keys) { %>
    <dt> <b> ${key} </b> </dt> 
    <dd> <tt> ${System.getProperty(key)} </tt> </dd>
    <% } %>
</dl>
<% } %>
</body>
</html>
