3.1 查詢區表格生成工具

  表(TABLE)由行(TR)組成,行包含多個格(TD),一個格里包含一個或多個元素,怎樣組織這些元素,可以有多種定義方式。我們做如下規定:
  a、一個格和內部的元素作爲一個整體,這樣有文本、輸入框、按鈕、列表等;
  b、一個格內包含多個元素的類型爲元素組;
  c、可以將常用的組合單獨作爲一種類型,如日期(輸入框+圖片)
  d、隱含字段(不包含表格)和TR也作爲特殊的類型。
  使用方法:
  JspDefaultQryTableManager jspDefaultQryTableManager = new JspDefaultQryTableManager(out,request);//建立一個生成類
  tableCell = jspDefaultQryTableManager.createTextTableCell("起始監控時間: ");//生成文本
  tableCell.setTdPropertyValue("width","13%");//設置表格數據寬度
  tableCell.setTdPropertyValue("align","right");//設置表格數據對齊方式

  tableCell = jspDefaultQryTableManager.createTableCell("Date_start",Date_start,TableCell.INPUT_TEXT_DATE);
  tableCell.setTdPropertyValue("width","20%");//設置表格數據寬度
  tableCell.setTdPropertyValue("align","left");//設置表格數據對齊方式
  tableCell.setInputTextDate(TableCell.INPUT_TEXT_DATE_FORMAT_DATE);

  tableCell = jspDefaultQryTableManager.createTextTableCell("監控方: ");
  tableCell.setTdPropertyValue("width","10%");//設置表格數據寬度
  tableCell.setTdPropertyValue("align","right");//設置表格數據對齊方式
 
  tableCell = jspDefaultQryTableManager.createTableCell("SendReceive",SendReceive,TableCell.SELECT_OPTION);
  tableCell.setTdPropertyValue("width","20%");//設置表格數據寬度
  tableCell.setTdPropertyValue("align","center");//設置表格數據對齊方式
  tableCell.addSelectOption("","請選擇");//設置列表的選項
  tableCell.addSelectOption("1","外網");//設置列表的選項
  tableCell.addSelectOption("2","內網");//設置列表的選項
  jspDefaultQryTableManager .outHtml();// 輸出數據

 

  函數說明:

  /**
   * 建立一個TableCell
   * @param name            字段名
   * @param value           字段值
   * @param displayType     顯示類型
   * @return                TableCell
   * @throws java.lang.Exception
   */
  public TableCell createTableCell(String name,Object value,int displayType) throws Exception

  生成的頁面爲:

<table class="qryTABLE" width="100%">
<tr><td class="qryTD" width="13%" align="right">
起始監控時間:&nbsp;</td>
<td class="qryTD" width="20%" align="left">
<input type="text" name="Date_start" value="20001212" class="qryInputText" size="8" maxlength="8"><img src="/resource/image/calendar.gif" align="absmiddle" οnclick="javascript:setday(this,document.all.Date_start,document.all.Date_start, 'DAY')">
</td>
<td class="qryTD" width="10%" align="right">
監控方:&nbsp;</td>
<td class="qryTD" width="20%" align="center">
<select name="SendReceive" class="qrySelectOption" style="width:100%">
<option value="">請選擇</option>
<option value="1" selected>外網</option>
<option value="2">內網</option>
</select>
</td>
</tr>
</table>

  可以看到屬性有一部分是默認的,根據生成類JspDefaultQryTableManager的不同,默認屬性可以不同。
  如果僅僅從這個例子看,並沒有明顯的優勢,這個只是一個基礎,它規範了數據,將html編程變成簡化成功能簡單的屬性設置,結構上改進不少,而且功能可以隨着JspDefaultQryTableManager類的提高而提高,程序可以不變,因此以後的維護和遷移將方便很多。

發佈了36 篇原創文章 · 獲贊 4 · 訪問量 2萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章