2013-01-21 33 views
1

我创建了一个struts2标签url。像这样的东西。Struts2:URL动作相对路径

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

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

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

这是我不喜欢的东西。我所有我想看到的是这个

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

它目前给我的完整的项目名称。有没有办法使用的struts2

+0

您确定此名称空间不是上下文吗? –

+0

@RomanC你是什么意思? – user962206

+0

我的意思是如果您部署到ROOT,MyProjectName可以是名称空间。我问这是什么。 –

回答

2

您的应用程序部署在这方面,我可以防止这种情况。你需要它来获得网址的工作。如果上下文不存在,您将得到404错误。您应该将您的应用程序部署为ROOT应用程序,以不显示该上下文

+0

我该怎么做? – user962206

+0

http://stackoverflow.com/questions/5328518/deploying-my-application-in-tomcat-in-the-root。对于jboss,你部署在ROOT.war – tom

+0

我已经部署在根目录上,但它仍然有一个404错误。该错误似乎是href之前的'/'。 – user962206

1

尝试时,该属性设置includeContextfalse 使

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

更多参考,check this

+0

我试过你的建议,但点击链接后,它给了我一个404这个网址就像这样。 http:// localhost:8090/login。无论如何去除额外/?在生成的url上 – user962206

+0

在我设置了includeContext =“false”之后,url之前还有一个额外的斜杠,反正我可以删除它吗? – user962206

+0

+1 for includeContext –