0 0

用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个答案 按时间排序 按投票排序

0 0

<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不能正确定位form

2012年12月19日 13:26
0 0

这个问题不应该,还是js 的问题吧!

2012年12月19日 13:07
0 0

把你 <s:form 换成html标签。。试试。

2012年12月19日 11:15

相关推荐

    Jsp中request的3个基础实践

    本文包含request内置对象的使用、乱码处理的两种方法、使用request.getParamter()方法获取表单提交的数据、采用request对象通过getParameter()方法和getParameterValues()方法获取表单请求数据、使用request内置对象...

    用pylon5设置好IP摄像头OpenCV打开使用摄像头实例(C++)

    在本教程中,我们将深入探讨如何使用Pylon5库与OpenCV框架结合,实现通过网卡连接并控制IP摄像头的C++实例。首先,确保你已经正确安装了Pylon5和OpenCV,并且你的开发环境配置得当。Pylon5是由Basler公司提供的一个...

    Servlet编程范例(4)

    在Servlet编程中,Servlet初始化参数和ServletContext对象是两个至关重要的概念。这些概念是构建Web应用程序的基础,特别是当涉及到服务器端的动态处理和应用配置时。 Servlet初始化参数是用于配置Servlet的特定...

    SpringMVC请求/响应乱码问题解决方案解析

    Tomcat服务器会对URL进行编码操作(此时使用的是Tomcat设置的字符集,默认是iso8859-1),到了我们的应用程序中的请求参数,已经是被Tomcat使用ISO8859-1字符集进行编码之后的了。 解决GET请求乱码问题有三种方法:...

Global site tag (gtag.js) - Google Analytics