2012-08-28 93 views
0

我有一個包含表單元素的main jsp(文件上傳jsp屏幕)。 用戶將選擇要上傳的文件,並根據需求設置一些其他元素(如複選框,收音機等),最後提交表單。struts2:在main/calling jsp中顯示結果jsp

將上傳過程的結果制定成不同JSP的表(例如result.jsp)。現在,result.jsp獨立顯示在屏幕上。

我想要的是將result.jsp顯示在同一個parent.jsp(具有表單元素)中,而不是在單獨的獨立頁面上。

任何人都可以幫助我嗎?

的struts.xml:

<action name="commonDataImportAction_*" class="commonDataImportAction"> 
     <result name="VIEW"> 
      /jsp/CommonDataImportLog.jsp (result.jsp) 
     </result> 
     <result name="input">/jsp/CommonDataImport.jsp (parent.jsp) 
     </result> 
</action> 

更新:

屏幕截圖,我怎麼想的那樣:

http://img802.imageshack.us/img802/7141/screenzgk.jpg

+0

如果你喜歡,你可以上傳一個圖像到另一個網站(如http://imageshack.us)。與問題相關,當您在問題中放入'ajax'和'javascript'標記時,您是否想要將操作的結果與ajax放在同一個jsp中? – Pigueiras

回答

2

如果您在提交簡單的方式頁方式Struts2提交按鈕的作品比一個簡單的解決方案是創建只有一個頁面,其中也包含您的result.jsp的佈局,但您可以最初隱藏該部分(在頁面提交之前)。

成功提交頁面後,您可以在操作類中設置一個值(比如說一個布爾值),並基於此可以顯示該部分,因爲您已經完成了文件上傳,因此您可以在操作類中設置這些值需要顯示result.jsp中的值。

對我而言,這是一種簡單而有效的方法。

另外,如果你是基於Ajax文件上傳之外還有很多方法可以做到這一點像

  1. 從操作發送回HTML部分去。
  2. 您甚至可以發送JSP文件的名稱,並可以在當前時間將其包含到當前JSP中。
  3. 從動作發送JSON數據並使用jQuery建立視圖
+0

iframe解決方案如何? – anu

+0

@anu:是的,這也可以做到,國際海事組織有這麼多的選項可用,它在最終依賴於我們更喜歡哪一個 –

+0

感謝Umesh。我知道有多種方式可以做到這一點。我首先試着用'ajax'(沒有頁面刷新)來做這件事,但它沒有按照預期工作,我最終浪費了很多時間。因此我決定用簡單的struts2上傳。我在'parent.jsp'中包含了'result.jsp',並根據標誌值顯示它。 – DarkKnightFan

0

因爲我發現我只好重定向到同一個頁面(parent.jsp)解析JSON。 你必須刪除另一個。

並在parent.jsp中進行一些更改。像使用迭代器標籤和所有有用的 來顯示所有數據。