btw, i forgot to mention that end users here were freaked up using it at
first, but then they LOVE it.
it is soo expresive...
wiradikusuma wrote:
>
> yes, but it won't be "generic".
> btw, i ended up not using the previous scenario. instead, i directly
> "pass" hql from view to db.
> ugly hack but works like charm.
> here's some snippets, hql AND criteria:
>
> public class BaseListController implements Controller {
> ..properties, setters..
> public ModelAndView handleRequest(...) {
> List list;
> if (!StringUtils.isBlank(request.getParameter("ql"))) {
> list = baseManager.getByQl(targetClass,
> request.getParameter("ql"));
> } else {
> Object o = targetClass.newInstance();
> BeanUtils.populate(o, request.getParameterMap());
> list = baseManager.getList(o);
> }
> return new ModelAndView(viewName, listName, list);
> }
> }
>
>
> and in dao, i use:
>
>
> public class BaseDaoHibernate extends HibernateDaoSupport implements
> BaseDao {
> public List getByQl(final Class c, final String ql) {
> return getHibernateTemplate().find("from " + c.getName() + " where
> " + ql);
> }
>
> public List getList(final Object criteria) {
> HibernateCallback callback = new HibernateCallback() {
> public Object doInHibernate(Session session) throws
> HibernateException {
> Example ex =
> Example.create(criteria).ignoreCase().enableLike(MatchMode.ANYWHERE);
> return
> session.createCriteria(criteria.getClass()).add(ex).list();
> }
> };
> return (List)getHibernateTemplate().execute(callback);
> }
> }
>
>
> these workaround resulted in that i don't have to create any
> *Controller.java, instead in servlet.xml:
>
>
> <bean id="fooController" class="...BaseListController">
> <property name="baseManager" ref="baseManager"/>
> <property name="targetClass" value="..Foo"/>
> <property name="viewName" value="fooList"/>
> <property name="listName">
> <bean id="..Constants.FOO_LIST"
> class="org.springframework.beans.factory.config.FieldRetrievingFactoryBean"/>
> </property>
> </bean>
> (i still use spring 1.2.x)
>
> of course, if you look at the xml, we can do much better (like
> "convention-ing" the wiring).
>
> is there any known security issue by using this method?
> i mean, can stuff like SQL-injection happen here?
>
>
>
> mraible wrote:
>>
>> If you manually set the supplier name using
>> targetBean.getSupplier().setName(request.parameter("supplier.name")) -
>> does it work?
>>
>> Matt
>>
>> On 4/9/07, wiradikusuma <[EMAIL PROTECTED]> wrote:
>>>
>>> hi,
>>> i need to filter displaytag using criteria. so i created a criteria
>>> form:
>>> ========================================
>>> <form method="get" id="specifierForm">
>>> <input type="text" name="supplier.name"
>>> value="${param['supplier.name']}"/>
>>> <input type="submit" value="OK"/>
>>> </form>
>>> ========================================
>>>
>>>
>>> leveraging appfuse's *Controller for displaying lists:
>>> ========================================
>>> public ModelAndView handleRequest(...)
>>> ...
>>> BeanUtils.populate(targetBean, request.getParameterMap());
>>> ...
>>> ========================================
>>>
>>>
>>> my displaytag has:
>>> ========================================
>>> <display:column property="supplier.name"/>
>>> ========================================
>>>
>>>
>>> the thing is, BeanUtils.populate seems only do "shallow" populate. that
>>> is,
>>> it doesn't correctly handle request such as:
>>> supplier.name (see my criteria form).
>>>
>>> is there any workaround for this?
>>>
>>>
>>>
>>>
>>> --
>>> View this message in context:
>>> http://www.nabble.com/how-to-filter-displaytag-tf3546089s2369.html#a9899108
>>> 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]
>>
>>
>>
>
>
--
View this message in context:
http://www.nabble.com/how-to-filter-displaytag-tf3546089s2369.html#a9901172
Sent from the AppFuse - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]