package sample; import java.util.*; import com.ngMAT.HTML.HTMLComponent; import com.ngMAT.HTML.HTMLTemplate; import com.ngMAT.HTML.ParsedTable; import genericservlet.EZGenericServlet; import genericservlet.EZGenericServletContext; import data.table.Emp; public class Sample1Servlet extends EZGenericServlet { public boolean isReadyToGo (EZGenericServletContext context) { // 常に誰でも使用できるページであれば、固定的に"true"を返す。 return true; } public HTMLComponent process (EZGenericServletContext context) { Sample1ServletConfig config = (Sample1ServletConfig)context.getConfig(); HTMLTemplate template = context.getTemplate (config.template_name); // hiddenパラメタ"do_process"の有無で処理パターンを決定 if (context.getParameter ("do_process") == null) { // 初期表示処理 display (context, template); } else { // 入力されたデータの処理 // エラーチェック if (isValidParameters (context)) { // OKなら、結果をセッションに保持して次のページへGo! context.setSessionValue ("hogehoge", "hogehoge"); context.sendRedirect (config.next_url); } else { // 入力値が適切でない場合はエラーメッセージと共に入力値を再表示 // → 実は初期表示とかなり似ている処理になることが多い } } return template; } private void display (EZGenericServletContext context, HTMLTemplate template) { Sample1ServletConfig config = (Sample1ServletConfig)context.getConfig(); ParsedTable pt = template.getParsedTable ("emp_list"); context.assignConnection(); String order = context.getParameter ("order"); order = (order == null ? "" : "order by " + order); Vector v = Emp.selectAll(context, order); context.releaseConnection(); for (int i = 0; i < v.size(); i++) { Emp emp = (Emp)v.elementAt (i); HTMLTemplate row = pt.getRowTemplate(); row.setTagValue ("empno", emp.empno); row.setTagValue ("ename", emp.ename); row.setTagValue ("job", emp.job); row.setTagValue ("mgr", emp.mgr); row.setTagValue ("hiredate", config.df.format (emp.hiredate)); row.setTagValue ("sal", emp.sal); row.setTagValue ("comm", emp.comm); row.setTagValue ("deptno", emp.deptno); pt.addRow (row); } } private boolean isValidParameters (EZGenericServletContext context) { return true; } }