Struts2如何将URL映射到操作?

时间:2015-09-30 14:46:38

标签: java jsp struts2

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

当我点击这样的超链接时:

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

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

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

1 个答案:

答案 0 :(得分:1)

Struts2使用ActionMapper将网址映射到操作。

  

ActionMapper接口提供HTTP请求和操作调用请求之间的映射,反之亦然。

     

当给定HttpServletRequest时,如果没有动作调用请求匹配,ActionMapper可能返回null,或者它可能返回一个描述框架动作调用的ActionMapping来尝试。

     

ActionMapper不需要保证返回的ActionMapping是实际操作或以其他方式确保有效请求。因此,大多数ActionMappers不需要参考Struts配置来确定是否应该映射请求。

     

正如请求可以从HTTP映射到动作调用一样,反之亦然。但是,因为HTTP请求(在HTTP响应中显示)必须是String形式,所以返回String而不是实际的请求对象。

  

默认情况下,使用DefaultActionMapper

     

默认的动作映射器实现,使用标准*.[ext](通常为ext&#34; action&#34;)模式。从Struts配置键struts.action.extension查找扩展名。

注意:您不应该直接登陆JSP,而是在通过操作后调度它们。