我想了解我很久以前使用的东西,但不知道它是如何工作的。
当我点击这样的超链接时:
<a href="name_action.action">Link</a>
Struts2如何激活映射到struts.xml文件的操作?
<action name="name_action">
<result type="redirect">web/page.jsp</result>
</action>
答案 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,而是在通过操作后调度它们。