我在服务器上安装了tomcat,可以在server.com/app/上找到。这意味着tomcat的根应用程序托管在该URL上。
现在我正在尝试部署新的应用程序(old.war),服务器将它部署在server.com/app/old/。直到现在还好。
当我在具有这样定义的页面上创建某个表单时,问题就开始了:
<html:form name="LoginForm" type="some.form" action="/LoginFormAction" method="post">...
在输出处我收到动作的值“/old/LoginFormAction.do”。这是错误的价值,因为它在开始时错过了“app”。我尝试了不同的动作值,例如
<html:form name="LoginForm" type="some.form" action="/app/old/LoginFormAction" method="post">...
<html:form name="LoginForm" type="some.form" action="/app/LoginFormAction" method="post">...
但它仍然在action的值中添加“/ old”前缀。 我该如何解决这个问题? 谢谢
答案 0 :(得分:0)
如果tomcat的root是app,那么它将无法使用(想象为'/'映射到'app /'),你应该使用相对路径,试试
`action="LoginFormAction"` and it should work fine.
答案 1 :(得分:0)
根据this issue Struts 1不支持form的action属性中的相对路径。所以没有办法解决它。即使是像here所述的黑客攻击。