名称空间(和操作)应该以斜线开头吗?
Should the namespace (and action) start with a slash?
我们正在开发 Struts 2 基础 Web 应用程序。
请告诉我 Strust 2 应用程序中哪个是正确的(标准)
<s:url var="url" action="foo" namespace="bar" />
<s:url var="url" action="/foo" namespace="/bar" />
<s:url var="url" action="foo" namespace="/bar" />
长话短说:
为了得到一个动作url我们总是在下面使用
<s:url var="url" action="foo" namespace="bar" />
我们尝试将休息支持添加到我们的应用程序中,并使我们的应用程序支持休息和非休息操作,与 REST and non-RESTful URL's Together Configuration
中提到的相同
还有Struts2 REST and Non-REST action together.
似乎 <s:url var="url" action="foo" namespace="bar" />
总是映射到默认操作,而 <s:url var="url" action="/foo" namespace="/bar" />
工作正常。
这是 org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper
中的错误 class 还是操作和命名空间应该始终带有斜线?
线下
REST and non-RESTful URL's Together Configuration
And, again, we're relying on the Convention plugin to find our
controllers, so we need to configure the convention plugin a bit:
<constant name="struts.convention.action.suffix" value="Controller"/>
<constant name="struts.convention.action.mapAllMatches" value="true"/>
<constant name="struts.convention.default.parent.package" value="rest-default"/>
<constant name="struts.convention.package.locators" value="example"/>
说你应该使用约定插件,这意味着基于约定的动作映射器。此映射器 允许 带有前导斜杠的操作名称。您使用 Struts 多年,应该知道默认操作映射器不会。
s:url
标记没有在配置中定义任何名称空间或操作,它使用 UrlHelper
根据自己的逻辑生成 url。生成的内容用于访问动作映射器。通常 URL 是用
生成的
http://<host>:<port>/<context>/<namespace>/<action>[.<extension>]
如果您打印从标签生成的 url,您会看到哪个是正确的。我们在 action 属性中使用带有前导斜杠和不带斜杠的动作名称的命名空间。这些值应与配置设置相对应。
我们正在开发 Struts 2 基础 Web 应用程序。
请告诉我 Strust 2 应用程序中哪个是正确的(标准)
<s:url var="url" action="foo" namespace="bar" />
<s:url var="url" action="/foo" namespace="/bar" />
<s:url var="url" action="foo" namespace="/bar" />
长话短说:
为了得到一个动作url我们总是在下面使用
<s:url var="url" action="foo" namespace="bar" />
我们尝试将休息支持添加到我们的应用程序中,并使我们的应用程序支持休息和非休息操作,与 REST and non-RESTful URL's Together Configuration
中提到的相同还有Struts2 REST and Non-REST action together.
似乎 <s:url var="url" action="foo" namespace="bar" />
总是映射到默认操作,而 <s:url var="url" action="/foo" namespace="/bar" />
工作正常。
这是 org.apache.struts2.dispatcher.mapper.PrefixBasedActionMapper
中的错误 class 还是操作和命名空间应该始终带有斜线?
线下
REST and non-RESTful URL's Together Configuration
And, again, we're relying on the Convention plugin to find our controllers, so we need to configure the convention plugin a bit:
<constant name="struts.convention.action.suffix" value="Controller"/> <constant name="struts.convention.action.mapAllMatches" value="true"/> <constant name="struts.convention.default.parent.package" value="rest-default"/> <constant name="struts.convention.package.locators" value="example"/>
说你应该使用约定插件,这意味着基于约定的动作映射器。此映射器 允许 带有前导斜杠的操作名称。您使用 Struts 多年,应该知道默认操作映射器不会。
s:url
标记没有在配置中定义任何名称空间或操作,它使用 UrlHelper
根据自己的逻辑生成 url。生成的内容用于访问动作映射器。通常 URL 是用
http://<host>:<port>/<context>/<namespace>/<action>[.<extension>]
如果您打印从标签生成的 url,您会看到哪个是正确的。我们在 action 属性中使用带有前导斜杠和不带斜杠的动作名称的命名空间。这些值应与配置设置相对应。