1

我在服务器上安装了 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”。这是错误的值,因为它在一开始就错过了“应用程序”。我尝试了不同的动作值,例如

<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">...

但它仍然在操作的值中添加“/old”前缀。我该如何解决这个问题?谢谢

4

2 回答 2

0

根据这个问题, Struts 1 不支持表单的 action 属性中的相对路径。所以没有办法解决。即使有像这里描述的黑客。

于 2012-07-13T17:29:12.643 回答
0

如果 tomcat 的根是 app ,那么它对你不可用,(把它想象成 '/' 映射到 'app/'),你应该使用相对路径,试试

`action="LoginFormAction"` and it should work fine.
于 2012-07-12T18:27:37.943 回答