我在struts中有一個基本問題,爲什麼我們需要在struts-config.xml中有<global-forwards>
和<global-exceptions>
。如果我們可以用<action-mappings>
本身達到同樣的效果。爲什麼我們需要struts中的全局轉發和全局異常?
11
A
回答
34
<global-forwards>
考慮您要驗證的其他網址像update.do,insert.do delete.do等的用戶名密碼,如果它是一個有效的用戶,你需要進行的neccesary action.if不轉發到登錄page.See下面
<action-mappings>
<action path="/insert" type="controller.Insert">
<forward name="success" path="/insert.jsp"/>
<forward name="failure" path="/login.jsp"/>
</action>
<action path="/update" type="controller.Update">
<forward name="success" path="/update.jsp"/>
<forward name="failure" path="/login.jsp"/>
</action>
<action path="/delete" type="controller.Delete">
<forward name="success" path="/delete.jsp"/>
<forward name="failure" path="/login.jsp"/>
</action>
</action-mappings>
而是重複<forward name="failure" path="/login.jsp"/>
您可以在<global-forwards>
聲明此類似下面
<global-forwards>
<forward name="failure" path="/login.jsp"/>
</global-forwards>
現在你可以聖雷莫的映射在動作映射中有<forward name="failure" path="/login.jsp"/>
。
<global-exceptions>
如果您收到java.Io例外,而不是手動處理的每個可以如下聲明全局。
<global-exceptions>
<exception type="java.io.IOException" path="/pages/error.jsp"/>
</global-exceptions>
我希望能夠澄清您的問題。
3
如果您在談論Struts 1,global-exceptions
是ExceptionHandlers
,那麼所有操作都會處理一些Exception
,因此您無需在每次操作時聲明它並避免重複。
Global-forwards
有同樣的想法。如果您以不同的動作轉發相同的路徑,則可以通過聲明一個global-forward
來避免重複,並且所有操作都可以使用它。通過global-forwards
,您還可以避免jsps中的硬編碼URL,例如,您可以聲明一個全局轉發,如<forward name="loginLink" path="/login" />
,然後在您的jsp <html:link forward="loginLink">Login</html:link>
中。
相關問題
- 1. Struts 2中的全局異常處理
- 2. web.xml錯誤500和struts全局異常有什麼區別?
- 3. 爲什麼coffeescript需要全局安裝?
- 4. 爲什麼GLfloat需要全局範圍?
- 5. java struts全局異常處理
- 6. 爲什麼我們需要全局臨時表,它們的實際用例
- 7. struts2中的全局異常
- 8. 爲什麼我的全局變量不是全局變量?
- 9. 爲什麼我的全局requirejs var undefined?
- 10. 爲什麼在這些PHP函數中不需要全局$ var?
- 11. WCF全局異常處理
- 12. Monotouch全局異常處理
- 13. WinForms全局異常處理?
- 14. Flask全局異常處理
- 15. Angular2全局異常處理
- 16. node.js需要全局文件
- 17. PHP需要全局範圍
- 18. 爲什麼Javascript全局變量不是全局的?
- 19. 未找到異常和轉換的全局轉換
- 20. Phonegap和捕捉全局android異常
- 21. 我需要一個全局TextView?
- 22. 在MFC中,爲什麼我需要創建CWinApp的全局實例?
- 23. ASP.NET 5中的全局異常處理
- 24. 全局處理JSF2中的異常
- 25. perl中的全局級異常處理
- 26. .NET中的全局異常處理?
- 27. 鎖是否需要聲明爲全局?
- 28. 全局對象和頭部全局對象有什麼區別?
- 29. 爲什麼分配給全局變量的錯誤提前引發異常?
- 30. 爲什麼局部變量會殺死我的全局變量?
謝謝男人很好的解釋,但發現它不長。 – user1900662
感謝您的解釋, – Apache
感謝您的解釋,假設有HTTP 500錯誤頁面,並需要轉發回登錄頁面, action-mappings>,這是如何做到的,謝謝 –
Apache