That's exactly my point.
If there is no "submit=xxx" parameter/value to the action, then it throws
a NullPointerException. So my action works like this:
/admin/list.do?submit=Refresh
But not like this:
/admin/list.do
In the second case, there is no submit parameter. For now, anything I
want to go to the list for the firs titme, I have it going to the first
representation. But what I really want is for it to have a default
behavior when no submit value is present so I can use the second form of
the URL instead. That was why I originally posted. The initial wave of
replies suggested I could use 'unspecified', but that didn't work.
So, is the answer:
(a) I should never use the second form because it is evil
(b) I could use the second form but its broken in LookupDispatchAction
(c) something else?
Regards,
Brian.
Mark Shifman <[EMAIL PROTECTED]>
03/25/2004 08:51 AM
Please respond to "Struts Users Mailing List"
To: Struts Users Mailing List <[EMAIL PROTECTED]>
cc:
Subject: Re: LookupDispatchAction default
Look at the sourc for LookupDispatchAction snippet below:
public ActionForward execute(
ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response)
throws Exception {
// Identify the request parameter containing the method name
String parameter = mapping.getParameter();
if (parameter == null) {
String message = messages.getMessage("dispatch.handler",
mapping.getPath());
throw new ServletException(message);
}
// Identify the string to lookup
String name = request.getParameter(parameter);
if (name == null) {
String message =
messages.getMessage("dispatch.parameter",
mapping.getPath(), parameter);
throw new ServletException(message);
}
It looks for the parameter's value and throws if the name is null so it
never gets a chance to get to unspecified in Dispatch action.
mas
Brian Sayatovic/AMIG wrote:
>Well, I tried overriding unspecified and I still get the following (mind
>you that I didn't change the parameter name yet) when I hit
>/admin/list.do:
>
> Error 500: Request[/admin/list] does not contain handler
parameter
>named submit
>
>My unspecified method I simply overrode from DispatchAction to call my
>normal refresh list method:
>
> protected ActionForward unspecified(
> ActionMapping mapping,
> ActionForm form,
> HttpServletRequest request,
> HttpServletResponse response
> ) {
> return this.refreshList(mapping, form, request,
response);
> }
>
>While the JavaDocs do imply this should work, when I looked in the Struts
>1.1 source, the execute method of LookupDispatchAction generates the
erorr
>message I see as soon as request.getParameter(parameterName) returns
null.
> In fact, I can find no reference to 'unspecified' anywhere in
>LookupDispatchAction.
>
>So I think there is a disconnect. Maybe LookupDispatchAction is broken
>and should be fixed to also use 'unspecified', or maybe its JavaDocs
>should explicitly state that it does not utilize the 'unspecified'
>behavior of its parent class. Or, maybe I missed something and didn't
>implement correctly?
>
>Regards,
>Brian.
>
>
>
>
>Mark Lowe <[EMAIL PROTECTED]>
>03/24/2004 09:21 AM
>Please respond to "Struts Users Mailing List"
>
>
> To: "Struts Users Mailing List"
<[EMAIL PROTECTED]>
> cc:
> Subject: Re: LookupDispatchAction default
>
>
>
>unspecified() is the method you want look at the javadoc.
>
>you do need the method name though
>
>/admin/list.do?method
>
>I saw that using "submit" as the parameter name causes problems so i
>wouldn't use that.
>
>On 24 Mar 2004, at 15:16, Brian Sayatovic/AMIG wrote:
>
>
>
>>I'd like to be able to have someone hit my action, /admin/list.do,
>>without
>>having to specify a submit paramater. However, the action is a
>>subclass
>>of LookupDispatchAction whci requires that the request parameter be
>>supplied. Looking in the struts source code, it would be nice if the
>>LookupDispatchAction could fall back to a default or not consider
>>'null'
>>to be a bad value and just use 'null' as a key to the lookup Map. For
>>now, any link or redirect to the page must specify what I consider to
>>be
>>the default action -- refresh -- on the URL:
>>/admin/list/do?submit=Refresh.
>>
>>Is there another way to do this? Is it worth suggesting that
>>LookupDispatchAction support a default or null mapping?
>>
>>Regards,
>>Brian.
>>
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: [EMAIL PROTECTED]
>For additional commands, e-mail: [EMAIL PROTECTED]
>
>
>
>
>
>
--
Mark Shifman MD. Ph.D.
Yale Center for Medical Informatics
Phone (203)737-5219
[EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]