<%@ page import="java.io.*" %>
<%// process page
String action = request.getParameter("action");
String yearString = request.getParameter("year");
int year = -1;
boolean hasError = false; String message = null;if (action == null || action.equals("Clear"))
{ yearString = null; } else if (yearString == null || yearString.equals("")) { hasError = true; message = "Enter an integer between 1 and 9999 for <i>Year</i>!"; } else { try { year = Integer.valueOf(yearString).intValue(); } catch (NumberFormatException nfe) { hasError = true; message = "Enter an integer between 1 and 9999 for <i>Year</i>!"; } } // print page%>
<html>
<head><title>UNIX cal Utility</title></head> <body bgcolor="white">
<font size=3>
Enter <i>Year</i> below to see the calendar of that year using the UNIX <i>cal</i> command. <form method=POST action=Cal.jsp>
<%if (yearString == null || yearString.equals("")) {%>
<i>Year</i> <input type=text name=year size=8 maxlength=8> <%} else {%>
<i>Year</i> <input type=text name=year value=<%= yearString %> size=8 maxlength=8> <%}
%>
<p>
<i>
<input type=submit name=action value="Display"> <input type=submit name=action value="Clear"> </i>
</form>
<%if (action == null || action.equals("Clear"))
{ } else if (action.equals("Display")) { Runtime rt = Runtime.getRuntime(); Process p = rt.exec("cal "+year); int exitValue = p.waitFor(); if (exitValue != 0) { hasError = true; message = "Enter an integer between 1 and 9999 for <i>Year</i>!"; } if (!hasError) { InputStreamReader isr = new InputStreamReader(p.getInputStream()); BufferedReader br = new BufferedReader(isr); String line = null;%>
<pre>
<%try { while ((line = br.readLine()) != null) {%>
<%= line %>
<%} } catch (IOException ioe) {} }%>
</pre>
<%}
if (hasError) {%>
<%= message %>
<%}
%>
</font>
<hr>
<a href="http://www.computing-wisdom.com"><i>Computing Wisdom Inc. Home Page</i></a> </body>
</html>