On Mon, 2007-04-30 at 23:55 +0200, Martin Grotzke wrote: > hi igor, > > i hope i got the idea now. i post my beans here, aehem, sorry - forgot to include SearchResultsView:
public SearchResultsView(String id, PropertyModel model ) { super( id, model ); final String query = (String) getModelObject(); final List<? extends Product> products = ((StealthShopApplication)getApplication()).getSearchService().find( query ); setList( products ); } @SuppressWarnings("serial") @Override protected void populateItem( ListItem listItem ) { final Product product = (Product)listItem.getModelObject(); listItem.add( new Label("id", product.getId() ) ); listItem.add( new Label( "title", product.getTitle() ) ); listItem.add( new Label( "description", product.getDescription() ) ); listItem.add(new Link("showDetailsLink"){ public void onClick(){ PageParameters pp = new PageParameters(); pp.add("productId", product.getId()); setResponsePage(Index.class, pp); } }); } cheers :) martin > it would be nice > if could tell me if anything's not following the right path :) > > // the start page, simply with the search form > public Index(final PageParameters parameters) { > LOG.debug( "Creating new Index page with params " + parameters ); > add( new SearchForm( "searchForm", new Model() ) ); > } > > // the search form > public SearchForm(String id, IModel model) { > super( id, model ); > add( new TextField( "query", model ) ); > } > > @Override > protected void onSubmit() { > // set response page with page params for bookmarkable urls > final PageParameters params = new PageParameters(); > params.add( "query", (String) getModelObject() ); > setResponsePage( SearchPage.class, params ); > } > > // the search page with form and results > private String _userInput; > > public SearchPage(final PageParameters parameters) { > _userInput = parameters.getString( "query" ); > add( new SearchForm( "searchForm", new PropertyModel( this, > "userInput" ) ) ); > add( new SearchResultsView( "productList", new PropertyModel( this, > "userInput" ), this ) ); > } > > public String getUserInput() { > return _userInput; > } > > public void setUserInput( String userInput ) { > _userInput = userInput; > } > > > cheers, > martin > > > On Mon, 2007-04-30 at 14:02 -0700, Igor Vaynberg wrote: > > i suggest you read here: > > http://cwiki.apache.org/confluence/display/WICKET/Working+with+Wicket > > +models > > > > the idea is pretty simple: > > the form submits its data into a bean, and the view renders according > > to that bean. this is accomplished by having the form and the view's > > models connected to the same bean via models. > > > > -igor > > > > > > On 4/30/07, Martin Grotzke <[EMAIL PROTECTED]> wrote: > > hi igor, > > > > i'm trying to implement your advice, but don't really know > > how to do this. > > > > what would the SearchForm then look like? does the form itself > > use the model and how is the input field added to the form? > > > > and how can the ResultsView access the value of the > > PropertyModel? > > the model has a getObject(Component) accessor - does this mean > > that > > the ResultsView would need pass the SearchPage into getObject? > > > > thanx && cheers, > > martin > > > > > > > > On Sun, 2007-04-29 at 18:05 -0700, Igor Vaynberg wrote: > > > in reality this isnt how its supposed to work. > > > > > > usually you would have something like this: > > > > > > searchpage { > > > private criteria crit; > > > > > > searchpage() { > > > add(new searchform("form", new PropertyModel(this, > > "crit")); > > > add(new resultsview("view", new PropertyModel(this, > > "crit")); > > > } > > > } > > > > > > that way the form and the view are bound to the same > > criteria object. > > > the form modifies it, and the view renders according to it. > > you would > > > not call any setresponsepage in the form, the same insatance > > of the > > > page would be reused. that is the wicket way. however, if > > you must > > > have that nice bookmarkable url then you need to call > > > setresponsepage(class, pageparams) from the form. it is not > > as clean, > > > but it works. > > > > > > -igor > > > > > > On 4/29/07, Martin Grotzke <[EMAIL PROTECTED]> > > wrote: > > > On Sun, 2007-04-29 at 17:41 -0700, Igor Vaynberg > > wrote: > > > > no, once the form is submitted the page is no > > longer > > > bookmarkable and > > > > so it will lose any bookmarkable/mounted url. > > > > > > > > if you want to keep it you can call > > > setresponsepage( page.class, > > > > params) in onsubmit(), but in your case that is > > silly since > > > > searchresultspage probably contains the submitted > > form > > > anyways? > > > well, i can do this (setResponsePage with params). > > > the SearchResultsPage indeed has a also an instance > > of the > > > form, > > > and the user can also initiate a search on the > > > SearchResultsPage. > > > > > > so for each search the SearchForm.onSubmit creates a > > new > > > SearchResultsPage and (indirectly) a new > > SearchForm... > > > > > > i just wonder if this this is the way how wicket > > should work, > > > or if > > > this stateless way is s.th. that is not really the > > target of > > > component based frameworks... > > > > > > thanx && cheers, > > > martin > > > > > > > > > > > > > > -igor > > > > > > > > > > > > On 4/29/07, Martin Grotzke < > > [EMAIL PROTECTED]> > > > wrote: > > > > hi all, > > > > > > > > i'm just starting with wicket and have a > > simple > > > search > > > > form, that leads to a SearchResultsPage. > > > > > > > > the SearchResultsPage is mounted as a > > bookmarkable > > > page (via > > > > mountBookmarkablePage("/search", > > > SearchResultsPage.class);), > > > > although the url that is shown then > > contains s.th. > > > like > > > > > > ?wicket:interface=:6:searchForm::IFormSubmitListener... > > > > > > > > is it possible to have a nicer url for the > > submitted > > > form? > > > > > > > > i'm using wicket 1.2.6 right now... > > > > > > > > thanx in advance, > > > > cheers, > > > > martin > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > This SF.net email is sponsored by DB2 > > Express > > > > Download DB2 Express C - the FREE version > > of DB2 > > > express and > > > > take > > > > control of your XML. No limits. Just data. > > Click to > > > get it > > > > now. > > > > http://sourceforge.net/powerbar/db2/ > > > > > > _______________________________________________ > > > > Wicket-user mailing list > > > > Wicket-user@lists.sourceforge.net > > > > > > > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > > This SF.net email is sponsored by DB2 Express > > > > Download DB2 Express C - the FREE version of DB2 > > express and > > > take > > > > control of your XML. No limits. Just data. Click > > to get it > > > now. > > > > http://sourceforge.net/powerbar/db2/ > > > > _______________________________________________ > > Wicket-user > > > mailing list Wicket-user@lists.sourceforge.net > > > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > -- > > > Martin Grotzke > > > http://www.javakaffee.de/blog/ > > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by DB2 Express > > > Download DB2 Express C - the FREE version of DB2 > > express and > > > take > > > control of your XML. No limits. Just data. Click to > > get it > > > now. > > > http://sourceforge.net/powerbar/db2/ > > > _______________________________________________ > > > Wicket-user mailing list > > > Wicket-user@lists.sourceforge.net > > > > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > > > > > > > > > ------------------------------------------------------------------------- > > > This SF.net email is sponsored by DB2 Express > > > Download DB2 Express C - the FREE version of DB2 express and > > take > > > control of your XML. No limits. Just data. Click to get it > > now. > > > http://sourceforge.net/powerbar/db2/ > > > _______________________________________________ Wicket-user > > mailing list Wicket-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > -- > > Martin Grotzke > > http://www.javakaffee.de/blog/ > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and > > take > > control of your XML. No limits. Just data. Click to get it > > now. > > http://sourceforge.net/powerbar/db2/ > > _______________________________________________ > > Wicket-user mailing list > > Wicket-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wicket-user > > > > > > > > ------------------------------------------------------------------------- > > This SF.net email is sponsored by DB2 Express > > Download DB2 Express C - the FREE version of DB2 express and take > > control of your XML. No limits. Just data. Click to get it now. > > http://sourceforge.net/powerbar/db2/ > > _______________________________________________ Wicket-user mailing list > > Wicket-user@lists.sourceforge.net > > https://lists.sourceforge.net/lists/listinfo/wicket-user > ------------------------------------------------------------------------- > This SF.net email is sponsored by DB2 Express > Download DB2 Express C - the FREE version of DB2 express and take > control of your XML. No limits. Just data. Click to get it now. > http://sourceforge.net/powerbar/db2/ > _______________________________________________ Wicket-user mailing list > Wicket-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/wicket-user -- Martin Grotzke http://www.javakaffee.de/blog/
signature.asc
Description: This is a digitally signed message part
------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/
_______________________________________________ Wicket-user mailing list Wicket-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wicket-user