The framework did tell you what the problem was, it just wasn't telling you about the problem you wanted to know about ;-)

When a form is submitted, Struts will perform type conversion and, if configured, validation on the input data. If there is an error in either process, Struts will automatically forward to the result named 'input', which is typically configured to re-display the form so the user can correct the errors in their input. The problem was that you had no result named 'input' in your action mapping.

I'm glad you got it working, and hopefully that helps explain what was going on a bit better.

L.

[EMAIL PROTECTED] wrote:
Turned out to be a field validation error on a java.net.URL.
I've corrected the problem.  I was surprised that the framework didn't
tell me what the problem was.  It just returned
false when I finally overloaded the validate() method and checked the
return value of super.validate().

Thanks for everyone's help.
RDB

Eric Nelson wrote:
This error usually happens when there's a type conversion problem.
There is probably a field in your form that is posting to your
ActionBean that isn't a part of Strut's standard included type
converters.  Or, if it is part of the standard converter, you may have
formatting problems.  For instance, if your posting data to a Date field
in your action class, and the format isn't part of the standard format,
you need to write a custom Type Converter.  It would help if you post
your form variables and your ActionBean variables to see where the
conversion is probably breaking.

--Eric

-----Original Message-----
From: Alberto A. Flores [mailto:[EMAIL PROTECTED] On Behalf Of Alberto
Flores
Sent: Thursday, September 25, 2008 10:56 AM
To: Struts Users Mailing List
Subject: Re: Unexpected Action processing

"result input" typically means that an Exception has been thrown in your
execute method (default one) and you dont' have a mapping for it in your
struts.xml. Try adding something like:

<result name="input" >/WEB-INF/error.jsp</result>

Where error.jsp has something meaningful such as:

<s:actionerror /><p><s:property value="%{exception.message}"/></p>

and also

<s:property value="%{exceptionStack}"/>


Hope this helps!


[EMAIL PROTECTED] wrote:
I've googled this, but can't seem to come up with the right way to ask
the question. I'm not a struts super-user. I don't mind hunting for the info, but I need a push in the right direction. Here is the
problem:
I have a form with the following action:

<s:form action="Company_update" namespace="/ldb" method="post">
       <!-- there are about 16 fields in this form.  I don't think the
fields are the problem. -->
    <s:submit value="Update"/>
</s:form>

Upon submission of this form, the browser reports the following error:

HTTP Status 404 - No result defined for action com.mwdashinc.quartz.web.actions.Company and result input

----------------------------------------------------------------------
----------

type Status report

message No result defined for action
com.mwdashinc.quartz.web.actions.Company and result input

description The requested resource (No result defined for action com.mwdashinc.quartz.web.actions.Company and result input) is not available.


----------------------------------------------------------------------
----------

Apache Tomcat/6.0.16

I don't get it. The url changes to the appropriate address in the browser, but it looks like the framework completely ignores the action
I chose and does its own thing.  Here is the url:

https://localhost:8443/Quartz/ldb/Company_randall.action

The struts configuration looks like this:

<action name="Company_*" method="{1}"
class="com.mwdashinc.quartz.web.actions.Company">
            <interceptor-ref name="myStack">
                <param name="roles.allowedRoles">input</param>
            </interceptor-ref>
            <result
name="listCompanies">/manage/listCompanies.jsp</result>
            <result
name="listIndustries">/manage/listIndustries.jsp</result>
            <result
name="editCompany">/manage/companyUpdateForm.jsp</result>
            <result
name="viewCompany">/manage/companyView.jsp</result>
            <result
name="confirm">/manage/companyConfirmDelete.jsp</result>
</action>

I've tried renaming the action after the '_', such as Company_myUpdateTest, and it still gets ignored. I've put a break point on every method in my class and it doesn't break anywhere. I'm not using any validation (at least I never set any up). Is there implicit validation? Would the validator cause this behavior?

Any help is appreciated.

Thank you
RDB


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


--
--
Alberto
http://www.linkedin.com/in/aflores


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to