【问题标题】:JSTL form relative pathJSTL表单相对路径
【发布时间】:2012-07-12 16:13:18
【问题描述】:

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

【问题讨论】:

    标签: java struts jstl tomcat7


    【解决方案1】:

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

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

    【讨论】:

    • 我试过这个。它仍然将操作的值转换为 /old/LoginFormAction
    【解决方案2】:

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

    【讨论】:

      猜你喜欢
      • 2012-01-11
      • 2010-09-15
      • 2013-04-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-14
      • 2010-12-17
      相关资源
      最近更新 更多