tapestry-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Howard M. Lewis Ship (JIRA)" <...@tapestry.apache.org>
Subject [jira] Commented: (TAPESTRY-1518) Add support for JDK 1.5 Generics when defining pages and accessing bean properties
Date Fri, 25 Jan 2008 02:26:34 GMT

    [ https://issues.apache.org/jira/browse/TAPESTRY-1518?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12562341#action_12562341
] 

Howard M. Lewis Ship commented on TAPESTRY-1518:
------------------------------------------------

BTW, the type of property is communicated out properly ... that means that the BeanEditForm
can instantiate the correct type of bean automatically, you don't need some of the code in
your example (the getEntityClass() method).

> Add support for JDK 1.5 Generics when defining pages and accessing bean properties
> ----------------------------------------------------------------------------------
>
>                 Key: TAPESTRY-1518
>                 URL: https://issues.apache.org/jira/browse/TAPESTRY-1518
>             Project: Tapestry
>          Issue Type: Bug
>          Components: tapestry-core, tapestry-ioc
>    Affects Versions: 5.0, 5.0.3, 5.0.4
>            Reporter: Jun Tsai
>            Assignee: Howard M. Lewis Ship
>             Fix For: 5.0.10
>
>
> Base.java
> class abstract Base<T>{
>  private T entity;
>  public void setEntity(T t){
>   this.entity=entity;
>  }
>  public T getEntity(T t){
>   return this.entity;
>  }
>  protected abstract Class<T> getEntityClass();
>  onPrepareFromMyForm(){
>   if(this.entity == null){
>    try{
>      this.entity=getEntityClass().newInstance();
>    }catch(Exception e){
>      throw new RuntimeException(e);
>    }
>   }
>  }
>  .....
> }
> ProductPage.java
> public class ProductPage extends Base<Product>{
>  protected Class<Product> getEntityClass(){
>    return Product.class;
>  }
> }
> ProductPage.html
> <t:form t:id="MyForm">
>  <t:errors/>
>        <t:label for="input"/>
>        <input t:type="textfield" t:id="input" value="entity.name" size="40" t:validate="required,minlength=3"/>

>       <br/>
>       <input type="submit" value="Submit"/>
> </t:form>
> exception:
> Could not convert 'entity.name' into a component parameter binding: Class java.lang.Object
does not contain a property named 'name' (within property expression 'entity.name').
> When I debug the app,I fiind PropertyConduitSourceImpl.readMethodForTerm before onPrepareFromMyForm
method. 
> I think the method should be after onPrepareFromMyForm method.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tapestry.apache.org
For additional commands, e-mail: dev-help@tapestry.apache.org


Mime
View raw message