In addition to eXtremeComponents, you might want to look into using something like Compass (which is a Spring-ish API to Lucene). There's some tutorials on the wiki:
Spring MVC: http://www.nabble.com/search---integrate-compass-%28lucene%29-and-appfuse-p5022176s2369.html Struts: http://raibledesigns.com/page/rd?entry=integrating_compass_with_appfuse_and Matt On 12/14/06, Michael Horwitz <[EMAIL PROTECTED]> wrote:
Hi, I am not sure if this will fit the bill, but it may just: for my users I have replaced DisplayTag with the eXtremeComponents table: http://www.extremecomponents.org/ . It was reasonably easy to integrate into AppFuse, and includes a search/filter box above each column. Perhaps not quite as sophisticated as the solution you describe below, but it gave me happy end users! Unfortunately DisplayTag does not (yet) have sort/search functionality by default. It is, IMHO, the better of the two libraries from a technical standpoint. Mike. On 12/14/06, SkipWalker <[EMAIL PROTECTED]> wrote: > > I'm currently using appFuse with webwork + spring + hibernate. > > I'm using displaytag to display tables of data for a variety of my hibernate > objects. > > I'm looking for a best practice or existing library to help me implement a > search feature for the data I'm displaying in the display tag tables. > > Currently, we just do a list of the objects resulting from a simple > hibernate find. I'd like a way to add a search function so I can display in > the table values that match by specified criteria. > > For example, I have a hibernate object somewhat like > > class Client { > String id; > String firstName; > String lastName; > Timestamp lastUpdated; > boolean public; > } > > I'd like to add a search form at the top of the page formatted in such a way > that the action that receives the request can easily transform the Request > parameters into a hibernate Criteria object. > > I can see a form something like this > > <form name="searchClients" action="searchClients"> > <!-- some input to indicate what hiberate object to search on, or this could > go in the action code --> > <input type="hidden" name="type" value="Client" /> > > First Name: > <Select name="restriction_firstName"> > <Option value="like">like</Option> > <Option value="eq">equals</Option> > <Option value="gt">greater than</Option> > <Option value="lt">less than</Option> > <Option value="in">in</Option> > <Option value="isNull">is null</Option> > <Option value="isNotNull">is not null</Option> > <Option value="startsWith">starts with/Option> > <Option value="endsWith">starts with/Option> > </Select> > <input type="text" name="query_firstName" value="" > > > Last Name: > <Select name="restriction_lastName"> > <Option value="like">like</Option> > <Option value="eq">equals</Option> > <Option value="gt">greater than</Option> > <Option value="lt">less than</Option> > <Option value="in">in</Option> > <Option value="isNull">is null</Option> > <Option value="isNotNull">is not null</Option> > <Option value="startsWith">starts with/Option> > <Option value="endsWith">starts with/Option> > </Select> > <input type="text" name="query_lastName" value="" > > > ... <!-- dates would probably have some special handling or something --> > Last Updated > <Select name="restriction_lastUpdated"> > <Option value="like">like</Option> > <Option value="eq">equals</Option> > <Option value="gt">greater than</Option> > <Option value="lt">less than</Option> > <Option value="in">in</Option> > <Option value="isNull">is null</Option> > <Option value="isNotNull">is not null</Option> > <Option value="startsWith">starts with/Option> > <Option value="endsWith">starts with/Option> > </Select> > <input type="text" name="query_lastUpdated" value="" > > > </form> > > So the input request could look like: > > restriction__firstName=eq > query__firstName=John > restriction_lastName=like > query_lastName=Wal > > And this would transform into sql: > > select * from Clients where firstName = 'John' and lastName like '%Wal%' > > The query_ parameter could support or, so a user could input "John or James" > > restriction__firstName=eq > query__firstName=John or James > restriction_lastName=like > query_lastName=Wal > > And this would transform into sql: > > select * from Clients where (firstName = 'John' or firstName = 'James') and > lastName like '%Wal%' > > > The library that the form is submitted to, would then transform these inputs > into a hibernate criteria, likely using the hibernate Restrictions class. I > can see some sort of method going through each restriction_ and then getting > the query_ arg (if it's a binary restriction). > > All kinds of things could be added to this: order by, sub queries, etc. It > basically requires some standard format for the input, and a library to > transform the http request parameters in to the hibernate criteria. > > So my ultimate question, since I have no desired to reinvent the wheel, is > does something like this already exist? Does something exists that > accompolishes basically what I want? > > Thanks, > Skip Walker > > > > -- > View this message in context: http://www.nabble.com/html-search-form-for-hibernate-managed-object-Displaytag-displayed-data---Looking-for-Best-Practices-tf2822969s2369.html#a7879468 > Sent from the AppFuse - User mailing list archive at Nabble.com. > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >
-- http://raibledesigns.com --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]