2012-08-02 92 views
1

我在嘗試使用Ext JS 4.1,JSP和Spring MVC 3.1來實現我的應用程序時遇到了根本性問題。我的問題存在於Ext JS 4.1中,因爲我對Spring非常好。如何爲不同的JSP調用不同的Ext JS 4.1控制器?

我有一個app.js類型的文件,根據其他帖子似乎是約定。我有多個JSP,它們都具有不同的小部件佈局。說每1個JSP應該有1個Ext JS控制器是否正確?如果是這樣,我該怎麼做?如果沒有,我錯過了什麼。

在我的JSP文件中,我引用了當前有一個控制器的app.js文件。我不明白如何讓第二個JSP引用同一個app.js文件並要求/告訴它使用不同的Ext JS控制器。任何人都可以幫助我理解這一點嗎?

是的,我已經閱讀了Ext JS的文檔,但我沒有看到任何東西,只是使用1個控制器。

+0

ExtJS的是一個客戶端應用程序。尤其是SPA RIA「單頁應用程序/富互聯網應用程序」。它與JSP服務器無關。 你爲什麼混淆這兩個? – 2012-08-02 19:48:02

+0

我在我的問題中使用了JSP,因爲我在Spring框架中將它們用於我的視圖。我習慣於點擊一個鏈接到一個Spring Controller,並返回邏輯視圖名稱,並且JSP與內容一起呈現。所以有一個用戶頁面,一個管理頁面,一個請求表單頁面等等...現在我想轉換到Ext JS 4.我想我的問題是我該如何做到這一點?答案中不一定要有JSP。 – wxkevin 2012-08-02 21:10:32

回答

3

快速回答:

你可能想要在一個頁面中的所有腳本標記。然後使用具有卡片佈局的面板作爲您的主要容器,並使用管理員和用戶面板等子項目。然後,您可以切換卡片佈局,以便在任何給定時間將要顯示的項目設置爲活動卡片。這些子組件中的每一個都可以具有佈局和其他所需組件的任意組合。

將所有文件合併成一個app.js可以在您進行分段或製作時完成。對於開發環境而言,開發一個app.js文件通常並不理想,因爲它會降低你的速度並使調試更加困難。將文件合併到單個app.js中是理想的生產工具,可以提高瀏覽器性能。

較長的答案:

你可以有多個JSP視圖頁面是你想要什麼,但可能要移動到「煎茶道」,並使用一個單一視圖的主要應用。

隨着Ext JS的常見用途是單頁面應用程序,這意味着你有一個單一的主視圖jsp視圖。通常您可以使用的唯一其他頁面是另一個jsp上的登錄表單。

當通過jsp視圖從服務器請求每個頁面視圖切換到使用單個頁面應用程序時,通常需要一些習慣,但一旦完成轉換,在單頁面應用程序中工作對於用戶和開發人員。

在單頁面應用程序中,主jsp頁面將包含所有Ext JS視圖的所有腳本,並且所有Ext JS控制器都通過腳本標記包含在其中。在生產中,您會希望使用JAWR或jsbuilder3,但在開發早期階段,您可能只包含每個腳本標記以儘量減少工作量。

我現在在工作的一個非常大的應用程序是一個帶有login.jsp和home.jsp的Spring MVC應用程序。 Login.jsp使用彈簧安全性和零Ext JS。一個成功的登錄會將用戶帶到home.jsp中,其中包含所有腳本。

這是您可能想要嘗試設置的配置。這與我經常設置的類似。這些信息中的一些可能已經很熟悉,但爲了以防萬一。

Ext JS views。 您可以使用具有邊框佈局的視口。視口組件使用完整的瀏覽器區域。邊界佈局爲您提供了五個區域,以便將分量放置在北,東,南,西和中心。您只需使用中心區域,然後使用任何其他需要的區域。常見的東方和北方地區可以包含導航面板和按鈕。您可以在中心區域包含一個帶有卡片佈局的面板。卡片佈局應該將您的管理員視圖,用戶視圖等作爲該面板的子項目。由於使用卡片佈局,隨時只能看到其中一個項目。

然後可以使用佈局和組件的任意組合來配置這些視圖中的每一個。

Ext JS控制器 通過配置視圖,包含綁定到導航項目(如按鈕)的導航控制器。當點擊導航按鈕時,必須切換卡布局activeItem,以便管理員,用戶或其他面板項目被設置爲活動狀態。對用戶來說,它會顯示'網頁'已經改變。

從這裏你可以爲每個在該主卡布局中的主視圖創建一個控制器 - 用戶控制器,管理控制器等

如果您還沒有讀過這些,他們是值得讀:

http://docs.sencha.com/ext-js/4-1/#!/guide/application_architecture http://docs.sencha.com/ext-js/4-1/#!/guide/mvc_pt1

+0

非常感謝您的解釋和建議。我更好地理解事情「應該」發揮作用。 – wxkevin 2012-08-03 12:08:59

相關問題