【问题标题】:Explanation of ".action" extention significance in Struts2 URLStruts2 URL中“.action”扩展意义的解释
【发布时间】:2013-07-10 10:22:32
【问题描述】:

这可能是一个无用或蹩脚的问题,但请解释一下。

在 struts2 中,当我们将动作分配给表单按钮并单击该按钮时,会调用该动作。现在,当显示动作文件的结果时,浏览器中的 URL 会显示

localhost:8080/HelloWorld/ClassName.action

有时默认情况下.action 部分不显示。但两者的工作原理相同。

我需要向某人解释这个.action 的意义。为什么在 URL 中显示该扩展名,是否有一些特定的东西可以启用和禁用 Struts2 URL 中的.action

【问题讨论】:

标签: java url jakarta-ee struts2 struts-action


【解决方案1】:

如果使用默认动作映射器从请求 url 获取映射,它使用动作扩展来确定动作名称部分。动作扩展可以用struts.xml(或struts.properties)中的常量配置

<constant name="struts.action.extension" value="action,,"/> 

这是默认设置。在某些情况下,如果您需要访问静态资源而不是同一路径下的操作,您可以使用“.action”扩展名来区分操作和静态资源。如果您没有或不使用此类资源,则可以通过从上面的配置中删除 action 来轻松抑制它。

【讨论】:

  • 使用&lt;constant name="struts.action.extension" value=","/&gt; 会为您提供不带 .action 的 URL,并且仍然不会干扰 CSS、JavaScript 和图像等静态资源。
  • 好的...所以整体概念是struts2 表明“老兄,无论您在屏幕上观看什么,都是使用 ACTION 类生成的...”什么都没有别的。我们甚至可以将其配置为显示不同的指示或根本没有指示。好家伙。非常感谢您的帮助。
  • @KeyurGolani 这取决于 struts2 过滤器使用什么过滤器映射,如果它使用/* 那么是的,但它也能够配置处理静态资源。
猜你喜欢
  • 1970-01-01
  • 2010-12-24
  • 2012-09-18
  • 2020-10-14
  • 2013-07-10
  • 1970-01-01
  • 1970-01-01
  • 2020-10-20
  • 1970-01-01
相关资源
最近更新 更多