日韩天天综合网_野战两个奶头被亲到高潮_亚洲日韩欧美精品综合_av女人天堂污污污_视频一区**字幕无弹窗_国产亚洲欧美小视频_国内性爱精品在线免费视频_国产一级电影在线播放_日韩欧美内地福利_亚洲一二三不卡片区

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

編輯Tag賺U幣
教程Tag:暫無Tag,歡迎添加,賺取U幣!
最后,servlet 專用于處理導航流和業(yè)務(wù)對象的持久性。當 servlet 接收到提交表單時,它將獲得 Translator 對象的一個實例,并使用 processForm() 方法將對表單的分析委派給 Translator 對象。在表單的分析完成以后,servlet 就會讓 Translator 對象使用 syncModelToGui() 方法將業(yè)務(wù)對象的值同步為表單中所提交的值。在成功轉(zhuǎn)換所提交的值并將它們設(shè)置到業(yè)務(wù)對象上之后,servlet 將對業(yè)務(wù)對象執(zhí)行持久化,并向網(wǎng)頁訪問者顯示確認頁。

  2. 給我顯微鏡

  下面我們仔細查看 Translator 模式的三個部分:JSP 文件、servlet 和 Translator 對象。(本文的示例遵循的是 Servlet 2.1 規(guī)范和 JSP 1.0 規(guī)范。這些示例是在 WebSphere 3.02 和 WebSphere 3.5 環(huán)境下構(gòu)建和測試的。)

  JSP 文件

  使用 Translator 模式的典型 JSP 輸入表單如下所示:

<%@ page extends="com.ibm.igs.ispkcm.translator.JspBase"
import="com.ibm.developerworks.translatorpattern.LoanTranslator,
Java.util.Hashtable"%>
<HTML>
<%
LoanTranslator ltLoan = LoanTranslator.getInstance(request);
Hashtable htErrors = ltLoan.getErrors();
%>
<HEAD>
</HEAD>
<BODY>
<%= displayErrors(htErrors) %>
<action="/servlet/com.ibm.developerworks.translatorpattern.LoanRegistrationServlet">
<%= hightLightErrors(ltLoan.BORROWER_LAST_NAME, htErrors) %>Borrower Last Name:
<INPUT name="<%= ltLoan.BORROWER_LAST_NAME %>"
value="<%= ltLoan.getBorrowerLastName() %>">
</FORM>
</BODY>
</HTML>

  在 Translator 模式中,所有表單都是 JSP 文件,而非 HTML 文件,所以輸入域的值可以是動態(tài)的。這一點很重要,因為我們網(wǎng)站的訪問者是實實在在的人,他們會犯輸入錯誤。比讓網(wǎng)站通知您它不接受您的輸入更糟糕的唯一一件事情是,讓它通知您它不接受您在某個域中輸入的內(nèi)容,并要求您重新鍵入其他 20 個域,因為某個程序員正忙于檢查股市報價,沒有時間來提高輸入表單的用戶友好性。在 Translator 模式中,輸入表單的每個輸入域的值都是動態(tài)設(shè)置的,因此如果因存在輸入錯誤而需要向網(wǎng)站訪問者重新顯示輸入頁,他們就會看到突出顯示的錯誤,但其他輸入項仍然保留。

  請記住,JSP 文件是由對 Java 代碼知之甚少或一無所知的網(wǎng)站設(shè)計者編寫和維護的。鑒于這個原因,我們希望 JSP 文件包含盡可能少的 Java 代碼。但我們在上一段的說明聽起來好像需要編寫大量的 Java 代碼。該 JSP 文件示例只有少量 Java 代碼,但它們主要位于表達式 (<%= x %>) 中。它們能夠使用這些眾多的功能,因為 JSP 文件從它的超類 com.ibm.igs.ispkcm.translator.JspBase 中繼承了這些代碼,并將大量代碼放在 Translator 對象中。

來源:網(wǎng)絡(luò)搜集//所屬分類:Windows教程/更新時間:2013-04-15
相關(guān)Windows教程