parameters.get("id").toLong() throws this exception when id can't be converted 
to long.

François


Le 20 sept. 2012 à 19:06, Stephen Walsh <step...@connectwithawalsh.com> a écrit 
:

> I am new to Wicket and Java, so forgive any ignorance or lack of information.
> 
> I am modeling a blog type application after the Wicket Examples Library 
> application and have not had any luck passing the post id to the details 
> page.  I'm not using the user portion at this point because I'll be doing a 
> role based authorization later.  
> 
> The blog page populates the array that it is given and provides a link to the 
> detail page, but this is when the exception is thrown.  Any thoughts?
> 
> Thanks!
> 
> public abstract class BasePage extends WebPage {
>       /**
>        * 
>        */
>       private static final long serialVersionUID = 1L;
>       
>       
>       private String pageTitle = "(no title)";
>       
>       /**
>        * 
>        * @return pageTitle
>        */
>       public final String getPageTitle() {
>               
>               return pageTitle;
>       }
>       
>       /**
>        * 
>        * @param title
>        */
>       public final void setPageTitle(String title) {
>               
>               pageTitle = title;
>       }
>       
>       public BasePage() {
>               
>               this(new PageParameters());
>       }
>       
>       /**
>        * 
>        * @param parameters
>        */
>       public BasePage(final PageParameters parameters) {
>               
>               super(parameters);
>               
>               add(new Label("title", new PropertyModel<String>(this, 
> "pageTitle")));
>               add(new BookmarkablePageLink("logo", Index.class));
>               add(new BookmarkablePageLink("home", Index.class));
>               add(new BookmarkablePageLink("news", Blog.class));
>               add(new BookmarkablePageLink("contact", ContactUs.class));
>               add(new BookmarkablePageLink("about", About.class));
>               add(new FooterPanel("social"));
>       }
>       
>       /**
>        * Construct
>        * 
>        * @param model
>        */
>       public BasePage(IModel<?> model) {
>               
>               super(model);
>       }
> 
> public class Blog extends BasePage {
>       
>       /**
>        * Constructor
>        * 
>        * @param params
>        */
>       public Blog(final PageParameters paramaters) {
>               
>               setPageTitle("News");
>               
>               //Add a list of blogPosts
>               final PageableListView<Post> listView;
>               add(listView = new PageableListView<Post>("blogPosts", new 
> PropertyModel<List<Post>>(this, "blogPosts"), 5) {
>                       
>                       @Override
>                       public void populateItem(final ListItem<Post> listItem) 
> {
>                               final Post blogPost = listItem.getModelObject();
>                               listItem.add(BlogDetails.link("details", 
> blogPost, getLocalizer().getString("noPostTitle", this)));
>                               listItem.add(new Label("text", new 
> Model<Post>(blogPost)));
>                               listItem.add(new Label("tags", new 
> Model<Post>(blogPost)));
>                               listItem.add(removeLink("remove", listItem));
>                               listItem.add(EditBlogPost.link("edit", 
> blogPost.getId()));
>                       }
>               });
>               add(new PagingNavigator("navigator", listView));
>       }
>       
>       public List<Post> getBlogPosts() {
>               final List<Post> blogPosts = new ArrayList<Post>();
> 
>               blogPosts.add(new Post("Post1", "text1", "tag1, tag2, tag3"));
>               blogPosts.add(new Post("Post2", "text2", "tag1, tag2, tag3"));
>               blogPosts.add(new Post("Post3", "text3", "tag1, tag2, tag3"));
>               blogPosts.add(new Post("Post4", "text4", "tag1, tag2, tag3"));
>               blogPosts.add(new Post("Post5", "text5", "tag1, tag2, tag3"));
>               blogPosts.add(new Post("Post6", "text6", "tag1, tag2, tag3"));
>               blogPosts.add(new Post("Post7", "text7", "tag1, tag2, tag3"));
>               blogPosts.add(new Post("Post8", "text8", "tag1, tag2, tag3"));
>               blogPosts.add(new Post("Post9", "text9", "tag1, tag2, tag3"));
>               blogPosts.add(new Post("Post10", "text10", "tag1, tag2, tag3"));
>               
>               return blogPosts;
>               
>       }
> }
> 
> public class BlogDetails extends BasePage {
> 
>       /**
>        * 
>        * @param parameters
>        *                      PageParameters
>        * @throws StringValueConversionException
>        */
>       public BlogDetails(final PageParameters parameters) throws 
> StringValueConversionException {
>               this(Post.get(parameters.get("id").toLong()));
>       }
>       
>       public BlogDetails(final Post blogPost) {
>               add(new Label("title", blogPost.getTitle()));
>               add(new Label("text", blogPost.getText()));
>               add(new Label("tags", blogPost.getTags()));
>               add(EditBlogPost.link("edit", blogPost.getId()));
>       }
>       
>       /**
>        * Creates an external page link
>        * 
>        * @param name
>        *            The name of the link component to create
>        * @param post
>        *            The post to link to
>        * @param noPostTitle
>        *            The title to show if post is null
>        * @return The external page link
>        */
>       public static BookmarkablePageLink<Void> link(final String name, final 
> Post blogPost, final String noPostTitle) {
>               
>               final BookmarkablePageLink<Void> link = new 
> BookmarkablePageLink<Void>(name, BlogDetails.class);
> 
>               if (blogPost != null) {
>                       
>                       link.getPageParameters().add("id", blogPost.getId());
>                       link.add(new Label("title", new Model<Post>(blogPost)));
>               }
>               else {
>                       
>                       link.add(new Label("title", noPostTitle));
>                       link.setEnabled(false);
>               }
> 
>               return link;
>       }
> }
> 
> 
> ____________________________________
> Stephen Walsh | http://connectwithawalsh.com
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org
For additional commands, e-mail: users-h...@wicket.apache.org

Reply via email to