Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java JSTL表单相对路径_Java_Struts_Jstl_Tomcat7 - Fatal编程技术网

Java JSTL表单相对路径

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

我已经在服务器上安装了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”前缀。 我怎样才能解决这个问题?
谢谢

如果tomcat的根目录是app,那么它将不适用于您(将其视为“/”映射到“app/”),您应该使用相对路径,然后重试

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

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

我也尝试了这个。它仍然将操作的值转换为/old/LoginFormAction