Click
  1. Click
  2. CLK-195

ognl.NoSuchPropertyException on action link

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: None
    • Component/s: None
    • Labels:
      None
    • Environment:
      PC with Windows 2000, mySQL Database, Tomcat, Apache

      Description

      Since i use the API Click 1.2, i met this error message
      This error doesn't appear with Click 1.1

      ognl.NoSuchPropertyException: vdo.epi.page.ListparcoursPage.actionLink
      at ognl.ObjectPropertyAccessor.setProperty(ObjectPropertyAccessor.java:132)
      at ognl.OgnlRuntime.setProperty(OgnlRuntime.java:1670)
      at ognl.ASTProperty.setValueBody(ASTProperty.java:101)
      at ognl.SimpleNode.evaluateSetValueBody(SimpleNode.java:177)
      at ognl.SimpleNode.setValue(SimpleNode.java:246)
      at ognl.Ognl.setValue(Ognl.java:476)
      at net.sf.click.util.PropertyUtils.setValueOgnl(PropertyUtils.java:169)
      at net.sf.click.ClickServlet.processPageRequestParams(ClickServlet.java:889)
      at net.sf.click.ClickServlet.initPage(ClickServlet.java:835)
      at net.sf.click.ClickServlet.createPage(ClickServlet.java:755)
      at net.sf.click.ClickServlet.handleRequest(ClickServlet.java:355)
      at net.sf.click.ClickServlet.doGet(ClickServlet.java:280)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
      at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
      at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:509)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
      at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
      at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
      at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
      at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732)
      at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619)
      at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688)
      at java.lang.Thread.run(Unknown Source)

        Activity

        Hide
        Malcolm Edgar added a comment -

        Hi Christophe,

        could you attach the Page source associated with this error.

        regards Malcolm Edgar

        Show
        Malcolm Edgar added a comment - Hi Christophe, could you attach the Page source associated with this error. regards Malcolm Edgar
        Hide
        Malcolm Edgar added a comment -

        Could you also attach the Click error page associated with this, I am particularly interested in the request parameter names and values.

        regards Malcolm Edgar

        Show
        Malcolm Edgar added a comment - Could you also attach the Click error page associated with this, I am particularly interested in the request parameter names and values. regards Malcolm Edgar
        Hide
        Christophe FOIRET added a comment -

        Find attached the source code and below the erreor message

        Classname = vdo.epi.page.ListparcoursPage
        Path /listparcours.htm

        Attributes =
        Auth Type = null
        Context Path = /epi
        Headers
        accept=/
        accept-encoding=gzip, deflate
        accept-language=fr
        connection=Keep-Alive
        cookie=JSESSIONID=7309433A51A05E1F4960CC1B48A1768B
        host=localhost:8080
        referer=http://localhost:8080/epi/listparcours.htm
        user-agent=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)

        Query
        actionLink=actionLink&value=1&page=0
        Method = GET
        Parameters
        actionLink=actionLink
        page=0
        value=1

        Remote User
        null
        URI /epi/listparcours.htm
        URL http://localhost:8080/epi/listparcours.htm
        Session

        Show
        Christophe FOIRET added a comment - Find attached the source code and below the erreor message Classname = vdo.epi.page.ListparcoursPage Path /listparcours.htm Attributes = Auth Type = null Context Path = /epi Headers accept= / accept-encoding=gzip, deflate accept-language=fr connection=Keep-Alive cookie=JSESSIONID=7309433A51A05E1F4960CC1B48A1768B host=localhost:8080 referer= http://localhost:8080/epi/listparcours.htm user-agent=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0) Query actionLink=actionLink&value=1&page=0 Method = GET Parameters actionLink=actionLink page=0 value=1 Remote User null URI /epi/listparcours.htm URL http://localhost:8080/epi/listparcours.htm Session
        Hide
        Christophe FOIRET added a comment -

        Hello,

        Could you answer to my issue ?

        Thanks

        Show
        Christophe FOIRET added a comment - Hello, Could you answer to my issue ? Thanks
        Hide
        Malcolm Edgar added a comment -

        Hi Christophe,

        This issue with this the ClickServlet is trying to automatically bind the "actionLink" request String parameter to the public ActionLink field named "actionLink". If you change the name of the field to something else it should work.

        This autobinding behaviour has been causing a bit of grief lately as it is not obvious what is going on. We need to improve the framework in this area.

        Regards Malcolm Edgar

        Show
        Malcolm Edgar added a comment - Hi Christophe, This issue with this the ClickServlet is trying to automatically bind the "actionLink" request String parameter to the public ActionLink field named "actionLink". If you change the name of the field to something else it should work. This autobinding behaviour has been causing a bit of grief lately as it is not obvious what is going on. We need to improve the framework in this area. Regards Malcolm Edgar
        Hide
        Malcolm Edgar added a comment -

        Hi Christophe,

        I have checked in changes which will throw an IllegalArgumentException if the reserved "actionLink" parameter name is used for the name of the control. This will make it much easier to determine this usage error.

        regards Malcolm Edgar

        Show
        Malcolm Edgar added a comment - Hi Christophe, I have checked in changes which will throw an IllegalArgumentException if the reserved "actionLink" parameter name is used for the name of the control. This will make it much easier to determine this usage error. regards Malcolm Edgar
        Hide
        Malcolm Edgar added a comment -

        Found cause of bug in ClickServlet

        Show
        Malcolm Edgar added a comment - Found cause of bug in ClickServlet
        Hide
        Malcolm Edgar added a comment -

        Fixed autobinding bug in ClickServlet.

        Fix checked in and will be available in release 1.4-RC1

        Show
        Malcolm Edgar added a comment - Fixed autobinding bug in ClickServlet. Fix checked in and will be available in release 1.4-RC1

          People

          • Assignee:
            Malcolm Edgar
            Reporter:
            Christophe FOIRET
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development