have tried the following code also on the ActionForm.reset method:
public void reset(ActionMapping mapping, HttpServletRequest request){
FWLog log = FWLogManager.getLog("UploadActionForm");
log.debug("Entering UploadActionForm.reset");
MultipartRequestWrapper multipartRequest = new
MultipartRequestWrapper(request);
Enumeration wrapperParameterNames =
multipartRequest.getParameterNames();
System.out.println("wrapperparameterNames = ");
while (wrapperParameterNames.hasMoreElements()){
System.out.println((String)wrapperParameterNames.nextElement());
}
request = multipartRequest.getRequest();
Enumeration parameterNames = multipartRequest.getParameterNames();
System.out.println("parameterNames = ");
while (parameterNames.hasMoreElements()){
System.out.println((String)parameterNames.nextElement());
}
System.out.println("mapping.getParameter() = " +
mapping.getParameter());
System.out.println("multipartRequest.getParameter(mapping.getParameter()) =
");
System.out.println(multipartRequest.getParameter(mapping.getParameter()));
System.out.println("multipartRequest = " +
multipartRequest.toString());
System.out.println("request.getParameter(mapping.getParameter()) =
");
System.out.println(request.getParameter(mapping.getParameter()));
System.out.println("request = " + request.toString());
if
(request.getParameter(mapping.getParameter()).equals(TrcCommonConstants.TRC_
STAGE_ACTION_METHOD)){
...
and this results in:
wrapperparameterNames =
parameterNames =
mapping.getParameter() = userAction
multipartRequest.getParameter(mapping.getParameter()) =
null
multipartRequest = org.apache.struts.upload.MultipartRequestWrapper@e3b13
request.getParameter(mapping.getParameter()) =
null
request = org.apache.struts.upload.MultipartRequestWrapper@48867b
java.lang.NullPointerException
at com...UploadActionForm.reset(Unknown Source)
Does this mean that struts doesn't support request parameters with multipart
forms ??
Hey there guys n gals,
I seem to be loosing a parameter of my request when I submit a multi-part
form.
In the page I have a,
<input type="hidden" name="userAction"/>
this is written to by a call to,
<a
href="javascript:submitFormDispatch('trcCbmUploadForm','performUpload')">LIN
K</a>
which calls,
function submitFormDispatch( formname, value )
{
var form = document.forms[ formname ];
var elements = form.elements;
elements[ 'userAction' ].value = value;
alert("userAction =" + value);
form.submit();
}
Now I know this is working because the alert pops up to tell me.
When the reset method is called in the ActionForm I get a null pointer
exception because no parameter is found for the action mapping set in the
struts-config.xml,
<action path="/.../upload"
type="com...UploadAction"
name="UploadForm"
scope="session"
validate="true"
input="/.../upload.jsp"
parameter="userAction">
<forward name="displayInputForm"
path="/.../upload.jsp"></forward>
<forward name="confirmUpload"
path="/.../Upload_confirmed.jsp"></forward>
<forward name="fail" path="/.../error"/>
</action>
And then in the form I've been using,
public void reset(ActionMapping mapping, HttpServletRequest request){
FWLog log = FWLogManager.getLog("UploadActionForm");
log.debug("Entering UploadActionForm.reset");
System.out.println("mapping.getParameter() = " +
mapping.getParameter());
System.out.println("request.getParameter(mapping.getParameter()) =
");
System.out.println(request.getParameter(mapping.getParameter()));
System.out.println("request = " + request.toString());
if
(request.getParameter(mapping.getParameter()).equals(TrcCommonConstants.TRC_
STAGE_ACTION_METHOD)){
this.emailText = null;
contactId = null;
log.debug("email text has been reset.");
}
log.debug("Entering TrcCbmUploadActionForm.reset");
}
When all this executes this outputs
mapping.getParameter() = userAction
request.getParameter(mapping.getParameter()) =
null
request = org.apache.struts.upload.MultipartRequestWrapper@799ca4
java.lang.NullPointerException
at com...web.action.UploadActionForm.reset(Unknown Source)
Guessing that a Multipart request is a different request object.
Have you got any suggestions ?
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>