WebObjects/Web 應用程式/開發/直接操作
外觀
直接操作是可以無需 WOSession 即可呼叫的操作方法。與元件操作不同,元件操作需要 WOSession,並將各種表單值繫結為物件,而直接操作更像傳統 Web 框架,其中表單值透過 WORequest 的 formValues 字典和 cookie 訪問。直接操作對於構建無狀態、高效能的網站非常有用,儘管您會失去 WebObjects 透過 元件操作 提供的一些易於開發的功能。
頁面仍然以通常的方式生成,但是如果您希望頁面中生成的連結在點選時使用直接操作,即建立直接操作 URL,則必須進行適當的繫結。
如果需要,直接操作可以與會話一起使用,這與會話如何與其他 Web 技術一起工作的方式非常相似 - 正確的會話物件將從 URL 或 cookie 中的資訊自動定位,並且可以在其中獲取和更改狀態。
除其他事項外,直接操作通常在不需要任何會話的情況下使用(使用更少的資源),或者在需要可書籤或易於建立的 URL 時使用。直接操作也經常用於為您的應用程式提供多個入口點,每個入口點都有自己的 URL - 但隨後返回使用普通 元件操作 的元件。
如果您不需要 元件操作 的額外便利,那麼直接操作也是一個不錯的選擇,因為它們沒有任何缺點。但是,在沒有建立 WOSession 的情況下建立整個 WO 應用程式非常困難,而且大多數情況下,您無論如何都需要它。
David LeBer 有一系列關於使用直接操作的優秀文章
- 使用 WebObjects 直接操作第 1 部分
- 使用 WebObjects 直接操作第 2 部分
- 從表單中呼叫直接操作
- 從 WOHyperlink 呼叫直接操作
- 從 WORedirect 呼叫直接操作
此頁面用於存放您在使用直接操作時發現的有用筆記和技巧。
- 有關使用直接操作的快速瀏覽,請參見(在 Mac OS X,WO 5.x 上):/Developer/Examples/JavaWebObjects/ThinkMovies
- 當將直接操作與包含 WOText 或 textarea 元素的表單一起使用時,您需要自己刪除客戶端發回的任何 \r\n(軟回車)。在元件操作頁面中,WOText 元素會為您處理此操作,但是當您自己從請求的表單值中提取值時,您需要自己處理軟回車。您應該將它們轉換為 \n。