【问题标题】:Struts2: URL action relative pathStruts2:URL动作相对路径
【发布时间】:2013-01-21 07:17:23
【问题描述】:

我创建了一个 struts2 标签 URL。像这样的。

<s:url action="login" var="login_url">
</s:url>

在看到生成的 HTML 时。它给了我这个

<a href="/MyProjectName/login">login</a>

这是我不喜欢的。我只想看到这个

<a href="login">login</a>

它目前正在给我完整的项目名称。使用 struts2 时有什么方法可以防止这种情况发生

【问题讨论】:

  • 你确定这个命名空间不是上下文吗?
  • @RomanC 你是什么意思?
  • 我的意思是如果您部署到根目录,MyProjectName 可能是命名空间。我问这是什么。
  • 哦,MyProjectName 不是命名空间。我正在使用默认命名空间。我已经更新了我的问题。
  • 看看你的问题在哪里“当前给我完整的命名空间”

标签: java url jakarta-ee struts2


【解决方案1】:

您的应用程序部署在该上下文中。您需要它才能使 url 正常工作。如果上下文不存在,您将收到 404 错误。您应该将您的应用程序部署为 ROOT 应用程序以不显示该上下文

【讨论】:

【解决方案2】:

尝试将属性includeContext设置为false 这样

<s:url action="login" var="login_url" includeContext="false">
</s:url>

更多参考,check this

【讨论】:

  • 我尝试了你的建议,但点击链接后它给了我一个 404 的 url 是这样的。 localhost:8090/login 。无论如何要删除多余的 / 吗?在生成的网址上
  • 在我设置了includeContext="false"之后,url前面还有一个额外的斜线,我可以删除它吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-08-18
  • 2011-04-29
  • 2010-10-03
  • 2018-11-05
  • 1970-01-01
  • 2018-06-04
相关资源
最近更新 更多