日期:2014-05-17  浏览次数:20618 次

关于struts 标签的html:form问题,你遇到过吗?
我用struts写的程序,在本地测试都还可以。jsp页面里面我用了html:form标签。如果我的action=“/user/add.do”,那么解析后 action还是action=“/user/add.do“。
但是,当我把这些东西传到服务器后,问题来了。action会变成action="/yes9i/user/add.do" 这样提交表单的时候肯定不会正确了。我用了好多办法都没解决成功。其中/yes9i/是放在tomcat的webapps的项目名称。

我服务器是用apache2.2.9+tomcat其中:
VirtualHost是这样配置的:
ProxyRequests Off
NameVirtualHost *:80
<VirtualHost *:80>
ServerName www.abab.com
ServerAlias www.abab.com
ProxyPass / ajp://127.0.0.1:8009/yes9i/
ProxyPassReverse / ajp://127.0.0.1:8009/yes9i/
ServerAdmin service@abab.com
</VirtualHost>
<VirtualHost *:80>
ServerName static.abab.com
ServerAlias static.abab.com
DocumentRoot /content/center
ServerAdmin service@abab.com
</VirtualHost>
<VirtualHost *:80>
ServerName img.abab.com
ServerAlias img.abab.com
DocumentRoot /content/img
ServerAdmin service@abab.com
</virtualHost> 我不明白的是,即使apache配置错误了,但是jsp解析应该跟它没关系吧,问什么本地解析的时候action=”/user/add.do“不会自动加yes9i上来。而跑到服务器上就添加呢。tomcat的版本都是5.5? 麻烦您帮忙分析下原因。十分感谢。html:form 改成form就可以了,但是我所有页面基本都是html:form做的,我想是否有更好的办法,能解决我说的,让它在action里面不添加讨厌的/yes9i/