Java JSTL表单相对路径
我已经在服务器上安装了tomcat,可以在server.com/app/上找到它。这意味着tomcat的根应用程序托管在该url上 现在我正在尝试部署新的应用程序(old.war),服务器在server.com/app/old/上部署它。到现在为止没关系 当我在页面上创建具有以下定义的表单时,问题就开始了:Java JSTL表单相对路径,java,struts,jstl,tomcat7,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">...
<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”前缀。
我怎样才能解决这个问题?
谢谢如果tomcat的根目录是app,那么它将不适用于您(将其视为“/”映射到“app/”),您应该使用相对路径,然后重试
`action="LoginFormAction"` and it should work fine.
根据Struts,1不支持表单的action属性中的相对路径。所以没有办法解决这个问题。即使使用了如上所述的黑客攻击。我也尝试了这个。它仍然将操作的值转换为/old/LoginFormAction