Yes i also hope that these questions are finally dont come any more.
Checkout the current trunk and its way more clear

On 4/18/08, John Krasnay <[EMAIL PROTECTED]> wrote:
> This has to qualify as one of the most common questions on the list!
> Hopefully, generics in 1.4 will make it more clear.
>
> The items in your list have to be the same type as the value model (the
> PropertyModel in your case). In your case, Wicket is complaining because
> the PropertyModel returns a long, but the list contains Authors.
>
> The cleanest solution is to change your property type to Author. If you
> can't, you can either give the DDC a list of author IDs instead of
> Authors (in which case you need to implement
> ChoiceRenderer.getDisplayValue to look up the author's name given an ID)
> or implement a custom model instead of the property model:
>
> IModel authorModel = IModel() {
>   public Object getObject() {
>     return lookUpAuthor(article.getArticleAuthorId());
>   }
>   public void setObject(Object object) {
>     article.setArticleAuthorId(((Author) object).getId());
>   }
> }
>
> HTH
>
> jk
>
>
> On Thu, Apr 17, 2008 at 04:05:45PM -0500, Andrew Broderick wrote:
> > Hi,
> >
> > I have a DropDownChoice in a form, with markup:
> >
> > <select wicket:id="authors" />
> >
> > In my Form class, I add it like this:
> >
> >                   add(new DropDownChoice("authors", new
> PropertyModel(this.article, "articleAuthorId"),
> >                               acService.getAuthors(), new
> ChoiceRenderer("authorDisplayName", "articleAuthorId")));
> >
> > this.article refers to a class that has a property of articleAuthorId:
> >
> >       public long getArticleAuthorId() {
> >             return articleAuthorId;
> >       }
> >
> >       public void setArticleAuthorId(long articleAuthorId) {
> >             this.articleAuthorId = articleAuthorId;
> >       }
> >
> > The acService.getAuthors() call gets a list of Author objects:
> >
> > public class Author implements Serializable {
> >
> >       private long articleAuthorId;
> >       private String authorFirstName;
> >       private String authorMiddleName;
> >       private String authorLastName;
> >       private String authorDisplayName;
> >
> >
> >       public String getAuthorFirstName() {
> >             return authorFirstName;
> >       }
> >       public void setAuthorFirstName(String authorFirstName) {
> >             this.authorFirstName = authorFirstName;
> >       }
> >       public String getAuthorMiddleName() {
> >             return authorMiddleName;
> >       }
> >       public void setAuthorMiddleName(String authorMiddleName) {
> >             this.authorMiddleName = authorMiddleName;
> >       }
> >       public String getAuthorLastName() {
> >             return authorLastName;
> >       }
> >       public void setAuthorLastName(String authorLastName) {
> >             this.authorLastName = authorLastName;
> >       }
> >       public String getAuthorDisplayName() {
> >             return authorDisplayName;
> >       }
> >       public void setAuthorDisplayName(String authorDisplayName) {
> >             this.authorDisplayName = authorDisplayName;
> >       }
> >       public Long getId()
> >       {
> >             return new Long(getArticleAuthorId());
> >       }
> >       public long getArticleAuthorId() {
> >             return articleAuthorId;
> >       }
> >       public void setArticleAuthorId(long articleAuthorId) {
> >             this.articleAuthorId = articleAuthorId;
> >       }
> > }
> >
> > The error I get when I try to render the page is:
> >
> > WicketMessage: No get method defined for class: class java.lang.Long
> expression: articleAuthorId
> >
> > I don't understand this, as the class used for the choices is Author, not
> java.lang.Long ....
> >
> > Any help appreciated!
> >
> > Thanks
> >
> >
> >
> >
> > _______________________________________________________
> >
> > The  information in this email or in any file attached
> > hereto is intended only for the personal and confiden-
> > tial  use  of  the individual or entity to which it is
> > addressed and may contain information that is  propri-
> > etary  and  confidential.  If you are not the intended
> > recipient of this message you are hereby notified that
> > any  review, dissemination, distribution or copying of
> > this message is strictly prohibited.  This  communica-
> > tion  is  for information purposes only and should not
> > be regarded as an offer to sell or as  a  solicitation
> > of an offer to buy any financial product. Email trans-
> > mission cannot be guaranteed to be  secure  or  error-
> > free. P6070214
>
> ---------------------------------------------------------------------
> 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