欧美日韩精品在线,国内精品久久久久久久久,一级毛片恃级毛片直播,清纯唯美亚洲综合欧美色

使用 Translator 模式構建更好的網(wǎng)站(5)_Windows教程

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!
對于要在 JSP 文件中顯示的每個業(yè)務對象值,Translator 都提供了一個 getter 方法。這些 getter 方法由 JSP 文件調用。必須在 JSP 文件中顯示的每個業(yè)務對象屬性都有一個 getter 方法。getter 方法總是返回一個 String。返回的 String 值已被預先格式化,以便直接在 JSP 文件中顯示。預先格式化 String 是為了使 JSP 文件中的 Java 代碼盡可能少。對這些值的格式化改為在 syncGuiToModel() 中進行。

  Translator 使用 processForm() 清除以前顯示的錯誤,并從提交的表單中分析此信息。當 servlet 接收到一個提交的表單時,它就會將對該表單的處理委托給 Translator。在本委托期間,Translator 分析提交表單的值,并將這些值分別存儲在 String 變量中。這些存儲變量隨后通過 syncModelToGui()(由 servlet 調用)轉換為業(yè)務對象的值。

  syncGuiToModel() 和 syncModelToGui() 是兩個類似的方法,顧名思義,其中一個方法按某個方向對值執(zhí)行同步,而另一個方法按相反的方向執(zhí)行同步。syncGuiToModel() 從業(yè)務對象的屬性中提取這些值,并使用 Object Translator 預先格式化每個屬性值。Object Translator 將值預先格式化為要在屏幕上顯示的值。隨后,它將 Translator 的對應 String 變量設置為這個值。syncModelToGui() 執(zhí)行的操作相同,但方向相反。下面是從典型的 syncGuiToModel() 中摘出的一小段代碼:

DoubleTranslator dtDouble = new DoubleTranslator();
String sTemp = dtDouble.translate(loan.getInterestRate());
setInterestRate(sTemp);

  為了使轉換代碼具有最大的可重用性,并為整個站點提供一種共同的轉換,syncGuiToModel() 和 syncModelToGui() 使用的都是 Object Translator 類。Object Translators 與 Translator 對象聯(lián)系得如此緊密,以致于幾乎可將它們看作是 Translator 對象的規(guī)則。Object Translator 類是一個簡單的類,它的唯一用途就是將一種數(shù)據(jù)類型轉換為格式化字符串,以及將格式化字符串轉換為它的數(shù)據(jù)類型。下面是一個很簡單的 Object Translator 類的代碼:

public class DoubleTranslator extends ObjectTranslator
{
public String translate(double doubleValue)
{
return Double.toString(doubleValue);
}

public double translate(String stringToBeTranslated) throws Exception
{
double dRV = 0.0;

try {
Double dbDouble = Double.valueOf(stringToBeTranslated);
dRV = dbDouble.doubleValue();
}
catch(Exception e)
{
Exception eTranslation =
new Exception("Please enter a numeric value like 1.0 or 1.25");
throw eTranslation;
}

return dRV;
}
}

  當這個樣例 Object Translator 將 double 轉換為格式化的 String 時,它只需調用 Double.toString()。這個方法可實現(xiàn)更強大的功能,例如,可以添加幾行代碼,使得當格式化類似 1000.25 這樣的大 double 值時,可預格式化這個值,以便顯示為 1,000.25。

  對于 DoubleTranslator.translate(String),須注意的重要一點是,它會發(fā)出一個可讀性很好的異常,而不是標準的 Java.lang.NumberFormatException 異常。JSP 文件將此異常的消息直接顯示給網(wǎng)站訪問者,因此,讓網(wǎng)站的普通訪問者很容易地理解該方法發(fā)出的異常是非常重要的。

  4. 小結

  使用 Translator 模式框架的優(yōu)點很多,不僅可以降低網(wǎng)站的成本,而且可以提高用戶的滿意度。由于不同組件都只執(zhí)行專門的任務,因而網(wǎng)站的構建成本降低了。這些專門任務分配給生產(chǎn)小組,如 HTML 小組或 Java 程序員小組。因為 Translator 模式的 ObjectTranslators 在整個網(wǎng)站重用,所有全部格式化和分析都是以相同的方式進行的。因為每項任務都以相同的方式完成,所以網(wǎng)站訪問者就能夠以一致的方式查看整個網(wǎng)站的信息。這進一步提高了用戶的滿意度。

來源:網(wǎng)絡搜集//所屬分類:Windows教程/更新時間:2012-05-06
相關Windows教程