aspose file tools*
The moose likes Struts and the fly likes Post parameters are becoming null (at random) Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Frameworks » Struts
Bookmark "Post parameters are becoming null (at random)" Watch "Post parameters are becoming null (at random)" New topic
Author

Post parameters are becoming null (at random)

Raghuram Duraisamy
Greenhorn

Joined: Dec 27, 2009
Posts: 5
Hi,

My web application is developed with Struts2 and it was working fine till recently. All of a sudden one of the modules has started malfunctioning.

The malfunctioning module is 'Update Student details' page. This page has a lot of fields like 'schoolName', 'degreeName', etc .

School 1: <input name="schoolName">

School 2: <input name="schoolName">

.....
School n: <input name="schoolName">



As mentioned earlier, the page was working perfectly fine till recently. Now, one/many of the values of 'schoolName', 'degreeName', etc are being received as "" (EMPTY STRING) on the server-side.

For debugging, I used firebug and remote-debugging in eclipse. I find that the post-parameters are correct on the client-side. For instance, during one of the submissions the post-parameters were as below (i noted them from firebug).

Content-Type: multipart/form-data; boundary=---------------------------2921238217421
Content-Length: 48893

<OTHER_PARAMETERS> <!--Truncated for clarity -->

-----------------------------2921238217421
Content-Disposition: form-data; name="schoolName"

ABC Institute
-----------------------------2921238217421
Content-Disposition: form-data; name="schoolName"

Test School
-----------------------------2921238217421
Content-Disposition: form-data; name="schoolName"

XYZ
-----------------------------2921238217421
Content-Disposition: form-data; name="schoolName"

Texas Institute
-----------------------------2921238217421
Content-Disposition: form-data; name="schoolName"

XXXX School

-----------------------------2921238217421--



But on the server-side, the request params were as below:

schoolName=[ABC Institute, Test School, XYZ, , XXXX School],

"Texas Institute" was received as "" (EMPTY STRING) in this particular case. This is not happening consistently. The parameters that become NULL (or EMPTY STRING) seem random to me - during one instance, parameter schoolName[3] became null as illustrated above, parameter schoolName[2] became null during yet another submission, etc. At times, none of the parameters are nullified.

The following is the list of the interceptors in the action definition.

List of interceptors:
----------------------
FileUploadInterceptor org.apache.struts2.interceptor.FileUploadInterceptor
ServletConfigInterceptor org.apache.struts2.interceptor.ServletConfigInterceptor
StaticParametersInterceptor com.opensymphony.xwork2.interceptor.StaticParametersInterceptor
ParametersInterceptor com.opensymphony.xwork2.interceptor.ParametersInterceptor
MyCustomInterceptor com.xxxx.yyyy.interceptors.GetLoggedOnUserInterceptor


This issue appears rather weird to me and I have not been able to zero-in on the exact cause of the issue. Any help in this regard would be highly appreciated. Thanks in advance.


Thanks,
Raghuram
David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

What changed? Did you upgrade anything? Change code? Configs?
Raghuram Duraisamy
Greenhorn

Joined: Dec 27, 2009
Posts: 5
Hi David,

Sorry for the late reply - was held up elsewhere.


What changed? Did you upgrade anything? Change code? Configs?


I upgraded commons-beanutils from 1.6 to 1.8. But after the issue turned up, i degraded back to 1.6 to check whether this was the cause. But parameters are getting lost even with beanutils1.6.


My form sends a multipart request (needed since file upload is enabled on the form). I decided to log the post-data that comes to the server. I modified RequestDumperFilter.java to log the multipart post data. After i added this filter, the parameter loss issue seems to have ceased (0 loss out of 150 submissions of form). I removed the filter and was able to reproduce the issue again.


Thanks,
Raghuram



David Newton
Author
Rancher

Joined: Sep 29, 2008
Posts: 12617

You'll have to show some configuration or something; I don't have enough information to help.
Stephen Grepnal
Greenhorn

Joined: Apr 19, 2011
Posts: 1
Hi, have you found a reason of the given behavior? Actually, I have the same bug, and your fix with RequestDumperFilter works for me also, but it is weird.
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Post parameters are becoming null (at random)
 
Similar Threads
Struts 2: Populating an array of java beans in action classes
FreeMarker template error!
Expression parameters.pushId is undefined on line 24, column 6 in template/ajax/div-close.ftl.
struts2 + interceptor
Populate the array