簡體   English   中英

Struts2如何將URL映射到動作?

[英]How does Struts2 map URLs to actions?

我想了解我很久以前使用過的東西,但不知道它是如何工作的。

當我單擊這樣的超鏈接時:

<a href="name_action.action">Link</a>

Struts2如何激活映射到struts.xml文件的動作?

<action name="name_action">
    <result type="redirect">web/page.jsp</result>
</action>

Struts2使用ActionMapper將URL映射到Actions。

ActionMapper接口提供HTTP請求與操作調用請求之間的映射,反之亦然。

給定HttpServletRequest時,如果沒有任何動作調用請求匹配,則ActionMapper可能返回null,或者它可能返回描述框架要嘗試的動作調用的ActionMapping。

不需要ActionMapper保證返回的ActionMapping是真實的動作,或者確保有效的請求。 因此,大多數ActionMappers不需要僅為了確定是否應映射請求就查閱Struts配置。

正如請求可以從HTTP映射到動作調用一樣,情況也相反。 但是,由於HTTP請求(在HTTP響應中顯示時)必須為String形式,因此將返回String而不是實際的請求對象。


默認情況下,使用DefaultActionMapper

默認動作映射器實現,使用標准*.[ext] (其中ext通常為“ action”)模式。 從Struts配置鍵struts.action.extension查找擴展名。

注意:您不應該直接登陸JSP,而應在通過操作后將其分派。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM