-
用js修改form的提交路径后,action中无法直接取值,必须用getParamter()5
用js修改form的提交路径后,action中无法直接取值,必须用getParamter()
例如有一个form
<s:form name="userForm" action="userAction!list.action" namespace="/sys" method="post">
<s:hidden name="page.currentNo"/>
</s:form>
UserAction 类中有 page 成员变量,get set方法都已定义, Page类中也有currentNo,且都有get set方法。
正常情况下用js提交form
document.userForm.submit();
后台 userAction中 可以从 page.getCurrentNo()中直接获取到值。
当用JS修改提交地址后,情况就不一样了。例如:
document.userForm.action="userAction!update.action";
document.userForm.submit();
如果这样提交,则在action中只能通过 request.getParameter("page.currentNo");才能取值,无法直接用page.getCurrentNo();获取到值,
程序没有报任何错误.
有谁遇到过这种问题,该如何解决?2012年12月19日 11:07
3个答案 按时间排序 按投票排序
-
<s:form name="userForm" action="userAction!list.action" namespace="/sys" method="post">
你在s:form中用了namespace,最终生成的页面中的form中的action实际上是
/sys/userAction!list.action
这点你可以从生成的网页源码中检查。
同样的下面
document.userForm.action="userAction!update.action";
要改为
document.userForm.action="/sys/userAction!update.action";
否则struct不能正确定位form2012年12月19日 13:26
相关推荐
本文包含request内置对象的使用、乱码处理的两种方法、使用request.getParamter()方法获取表单提交的数据、采用request对象通过getParameter()方法和getParameterValues()方法获取表单请求数据、使用request内置对象...
在本教程中,我们将深入探讨如何使用Pylon5库与OpenCV框架结合,实现通过网卡连接并控制IP摄像头的C++实例。首先,确保你已经正确安装了Pylon5和OpenCV,并且你的开发环境配置得当。Pylon5是由Basler公司提供的一个...
在Servlet编程中,Servlet初始化参数和ServletContext对象是两个至关重要的概念。这些概念是构建Web应用程序的基础,特别是当涉及到服务器端的动态处理和应用配置时。 Servlet初始化参数是用于配置Servlet的特定...
Tomcat服务器会对URL进行编码操作(此时使用的是Tomcat设置的字符集,默认是iso8859-1),到了我们的应用程序中的请求参数,已经是被Tomcat使用ISO8859-1字符集进行编码之后的了。 解决GET请求乱码问题有三种方法:...