JSTL形成相对路径

时间:2012-07-12 16:13:18

标签: java struts jstl tomcat7

我在服务器上安装了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”前缀。 我该如何解决这个问题? 谢谢

2 个答案:

答案 0 :(得分:0)

如果tomcat的root是app,那么它将无法使用(想象为'/'映射到'app /'),你应该使用相对路径,试试

`action="LoginFormAction"` and it should work fine.

答案 1 :(得分:0)

根据this issue Struts 1不支持form的action属性中的相对路径。所以没有办法解决它。即使是像here所述的黑客攻击。