If you're using Spring's ControllerClassNameHandlerMapping, the "F" in
Form should be lowercase.

Matt

On 6/7/07, Aled Rhys Jones <[EMAIL PROTECTED]> wrote:
http://localhost:8080/companyForm.html?id=1

If I manually type it in I get the same error.

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Matt Raible
Sent: 06 June 2007 22:49
To: [email protected]
Subject: Re: [appfuse-user] BindingResult

What's the link that's created by the code below? If you manually type
that link into your browser, does it go to the correct controller?

Matt

On 6/6/07, Aled Rhys Jones <[EMAIL PROTECTED]> wrote:
> I've been debugging my build, and noticed that when I click the link
> that's supposed to take me to view a company details, companyForm.html
> (the file is companyForm.jsp) it goes through the CompanyController
> again as opposed to the CompanyFormController.  Any ideas why it might
> be doing this?  Obviously if it uses the CompanyController then it will
> be returning the wrong Model.
>
> The link in company.jsp:
> <display:column property="id" escapeXml="true" sortable="true"
>         url="/companyForm.html" paramId="id" paramProperty="id"
> titleKey="companyForm.id"/>
>
> Can anyone help?
>
> Thanks in advance
> Aled
>
> Aled Rhys Jones wrote:
> > Still stuck with this one, though thanks to Matt for pointing out how
> > the ControllerClassNameHandlerMapping works, I had indeed named my jsp
> > incorrectly.
> >
> > I'm getting an error when clicking from a model list page to a model
> > detail page.  So far I've made pages for Url and Company models.  Both
> > give the same error when I click to go from the list to the detail.
> > As far as I'm aware I have followed the tutorials.  I'm using M-04.
> > For example, for company I have a page that displays a list of
> > companies.  When I click a company the url is e.g.
> > http://localhost:8080/companyForm.html?id=1
> >
> > I get the following error:
> > CompanyController.handleRequest(37) | entering 'handleRequest' method...
> > [travelbeen] ERROR [btpool0-4] HiddenInputTag.doStartTag(84) | Neither
> > BindingResult nor plain target object for bean name 'company'
> > available as request attribute
> > java.lang.IllegalStateException: Neither BindingResult nor plain
> > target object for bean name 'company' available as request attribute
> >    at
> >
org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:13
7)
> >
> >
> > Exactly the same happens when I try to go to the Url detail page, just
> > swap 'company' for 'url'.
> >
> > Matt you noted that the cause might be that I'm navigating to the JSP
> > directly, rather than going through a SimpleFormController.  Could you
> > elaborate on this?
> >
> > The jsp page I have for company.jsp is as follows:
> >
> > <%@ include file="/common/taglibs.jsp"%>
> > <title><fmt:message key="companyList.title"/></title>  <content
> > tag="heading"><fmt:message key="companyList.heading"/></content>
> > <meta name="menu" content="CompaniesMenu"/>
> > <c:set var="buttons">     <input type="button" style="margin-right:
> > 5px"        onclick="location.href='<c:url
> > value="/companyForm.html"/>'"        value="<fmt:message
> > key="button.add"/>"/>
> >    <input type="button" onclick="location.href='<c:url
> > value="/mainMenu.html"/>'"        value="<fmt:message
> > key="button.done"/>"/>  </c:set>
> > <c:out value="${buttons}" escapeXml="false"/>
> > <display:table name="companyList" cellspacing="0" cellpadding="0"
> > requestURI=""    id="companyList" pagesize="25" class="table"
> > export="true">
> >    <display:column property="id" escapeXml="true" sortable="true"
> >        url="/companyForm.html" paramId="id" paramProperty="id"
> > titleKey="companyForm.id"/>     <display:column property="name"
> > escapeXml="true" sortable="true"
> >        url="/companyForm.html" paramId="id" paramProperty="id"
> > titleKey="companyForm.name"/>
> >      <display:column property="url" escapeXml="true" sortable="true"
> > titleKey="companyForm.url"/>
> >
> >    <display:setProperty name="paging.banner.item_name"
> > value="company"/>     <display:setProperty
> > name="paging.banner.items_name" value="companies"/>
> >    <display:setProperty name="export.excel.filename" value="Company
> > List.xls"/>     <display:setProperty name="export.csv.filename"
> > value="Company List.csv"/>     <display:setProperty
> > name="export.pdf.filename" value="Company List.pdf"/>  </display:table>
> > <c:out value="${buttons}" escapeXml="false"/>
> > <script type="text/javascript">
> > highlightTableRows("companyList");  </script>
> >
> > Any ideas?
> >
> > Thanks
> > Aled
> >
> >
> >
> > Aled Rhys Jones wrote:
> >> Yes I have.
> >>
> >> UrlFormController:
> >>
> >> public class UrlFormController extends BaseFormController {
> >>    private UrlManager urlManager = null;         public void
> >> setUrlManager(UrlManager urlManager) {         this.urlManager =
> >> urlManager;     }    public UrlFormController() {
> >> setCommandClass(Url.class);         setCommandName("url");     }
> >> protected Object formBackingObject(HttpServletRequest request)
> >> throws Exception {         String id = request.getParameter("id");
> >>        if (!StringUtils.isBlank(id)) {             return
> >> urlManager.get(new Long(id));         }                  return new
> >> Url();     }    public ModelAndView onSubmit(HttpServletRequest
> >> request,                                  HttpServletResponse
> >> response, Object command,
> >> BindException errors)     throws Exception {
> >> log.debug("entering 'onSubmit' method...");        Url url = (Url)
> >> command;         boolean isNew = (url.getId() == null);
> >> String success = getSuccessView();         Locale locale =
> >> request.getLocale();                  if
> >> (request.getParameter("delete") != null) {
> >> urlManager.remove(url.getId());             saveMessage(request,
> >> getText("url.deleted", locale));         } else {
> >> urlManager.save(url);             String key = (isNew) ? "url.added"
> >> : "url.updated";             saveMessage(request, getText(key,
> >> locale));            if (!isNew) {                 success =
> >> "redirect:urlForm.html?id=" + url.getId();             }         }
> >>        return new ModelAndView(success);     }
> >>
> >> }
> >> Sanjiv Jivan wrote:
> >>> Have you set the commandName for
> >>> uk.co.arjit.travelbeen.webapp.controller.UrlFormController to
> >>> "url"?  It seems like you're using a Spring bind tag in urls.jsp
> >>> that expects a command name of "url". Hard to tell with the details
> >>> posted.
> >>>
> >>> On 5/17/07, *Aled Rhys Jones* <[EMAIL PROTECTED]
> >>> <mailto:[EMAIL PROTECTED]>> wrote:
> >>>
> >>>     Thanks for the reply.  Still not sure what I'm doing wrong, as its
> >>>     very
> >>>     similar to the tutorial example.
> >>>
> >>>     urls.jsp (list of urls) contains e.g the following:
> >>>     <display:column property="id" escapeXml="true" sortable="true"
> >>>             url="/urlForm.html" paramId="id" paramProperty="id"
> >>>     titleKey="url.id <http://url.id>"/>
> >>>
> >>>     I have a UrlFormController that is the same as the example
> >>>     PersonFormController except it uses a Url model and UrlManager.
> >>>
> >>>     dispatch-servlet.xml contains the following:
> >>>
> >>>     <bean id="urlController"
> >>>     class="uk.co.arjit.travelbeen.webapp.controller.UrlController ">
> >>>             <property name="urlManager" ref="urlManager"/>
> >>>         </bean>
> >>>
> >>>         <bean id="urlFormController"
> >>>
> >>> class="uk.co.arjit.travelbeen.webapp.controller.UrlFormController ">
> >>>             <property name="validator" ref="beanValidator"/>
> >>>             <property name="successView" value="redirect:urls.html"/>
> >>>             <property name="urlManager" ref="urlManager"/>
> >>>         </bean>
> >>>
> >>>         <bean id="companyController"
> >>>
class="uk.co.arjit.travelbeen.webapp.controller.CompanyController">
> >>>             <property name="companyManager" ref="companyManager"/>
> >>>         </bean>
> >>>
> >>>         <bean id="companyFormController"
> >>>
> >>>
class="uk.co.arjit.travelbeen.webapp.controller.CompanyFormController">
> >>>             <property name="validator" ref="beanValidator"/>
> >>>             <property name="successView"
> >>> value="redirect:companies.html"/>
> >>>             <property name="companyManager" ref="companyManager"/>
> >>>         </bean>
> >>>
> >>>     As mentioned earlier, company just has generic crud whilst url
> >>> has an
> >>>     extra method so requires its own dao and service classes.
> >>>     All unit tests succeed.
> >>>
> >>>     Other web pages are companies.jsp, companyForm.jsp and
> >>> urlForm.jsp .
> >>>
> >>>     Cheers
> >>>     Aled
> >>>     Matt Raible wrote:
> >>>     > The first error is likely because you're navigating to the JSP
> >>>     > directly, rather than going through a SimpleFormController. As
> >>>     for the
> >>>     > 2nd issue, what is your Controller named? The
> >>>     > ControllerClassNameHandlerMapping determines how URLs are
> >>>     created for
> >>>     > controllers:
> >>>     >
> >>>     > http://tinyurl.com/3ce2zn
> >>>     >
> >>>     > Matt
> >>>     >
> >>>     > On 5/16/07, Aled Rhys Jones < [EMAIL PROTECTED]
> >>>     <mailto:[EMAIL PROTECTED]>> wrote:
> >>>     >> Hi everyone
> >>>     >>
> >>>     >> I've started developing with appfuse and so far its been
> >>>     great.  I've
> >>>     >> created two services, url and company, and all the tests pass
> >>>     including
> >>>     >> the webb ones.
> >>>     >> I think there's a problem with my jsp's however, as when I
> >>>     click on a
> >>>     >> url in my url list page (urls.jsp) to go to the urlForm.jsp
> >>>     page, I get
> >>>     >> the following error:
> >>>     >> [myapp] ERROR [btpool0-8] HiddenInputTag.doStartTag(84) |
> >>> Neither
> >>>     >> BindingRe
> >>>     >> sult nor plain target object for bean name 'url' available as
> >>>     request
> >>>     >> attribute
> >>>     >> java.lang.IllegalStateException: Neither BindingResult nor
> >>>     plain target
> >>>     >> object f
> >>>     >> or bean name 'url' available as request attribute
> >>>     >>
> >>>     >> My companies page (list of companies) doesn't load either.  I
> >>>     get the
> >>>     >> error:
> >>>     >> [myapp] WARN [btpool0-9] PageNotFound.noHandlerFound(1003) | No
> >>>     >> mapping for
> >>>     >>  [/companies.html] in DispatcherServlet with name 'dispatcher'
> >>>     >>
> >>>     >> Any ideas?
> >>>     >>
> >>>     >> Cheers
> >>>     >> Aled
> >>>     >>
> >>>     >>
> >>>     >>
> >>>
> >>> ---------------------------------------------------------------------
> >>>     >> To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>     <mailto:[EMAIL PROTECTED]>
> >>>     >> For additional commands, e-mail:
> >>>     [EMAIL PROTECTED]
> >>>     <mailto:[EMAIL PROTECTED]>
> >>>     >>
> >>>     >>
> >>>     >
> >>>     >
> >>>
> >>>
> >>> ---------------------------------------------------------------------
> >>>     To unsubscribe, e-mail: [EMAIL PROTECTED]
> >>>     <mailto:[EMAIL PROTECTED]>
> >>>     For additional commands, e-mail: [EMAIL PROTECTED]
> >>>     <mailto:[EMAIL PROTECTED]>
> >>>
> >>>
> >>>
------------------------------------------------------------------------
> >>>
> >>>
> >>> No virus found in this incoming message.
> >>> Checked by AVG Free Edition. Version: 7.5.467 / Virus Database:
> >>> 269.7.5/812 - Release Date: 19/05/2007 13:52
> >>>
> >>
> >> ---------------------------------------------------------------------
> >> 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]
> >
> >
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
http://raibledesigns.com

---------------------------------------------------------------------
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]




--
http://raibledesigns.com

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

Reply via email to