No.
Simplest way for me is using separate bean for perfoming query:
Code:
<bean id="dataSource" ...>...</bean>
<bean id="requester" class="bus.Requester">
<property name="dataSource"><ref bean="dataSource"/></property>
<property name="params"><value>null</value></property>
</bean>
I can set params property to queryBuilder by code in SimpleFormController.onSubmit. But how can I use requester object in my code? What I need to write to web.xml, dbquery-servlet.xml and onSubmit?
Now them looks like:
web.xml:
Code:
<web-app>
<servlet>
<servlet-name>dbquery</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dbquery</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>
index.jsp
</welcome-file>
</welcome-file-list>
<taglib>
<taglib-uri>/spring</taglib-uri>
<taglib-location>/WEB-INF/spring.tld</taglib-location>
</taglib>
</web-app>
dbquery-servlet.xml:
Code:
<beans>
<bean id="queryValidator" class="bus.QueryValidator"/>
<bean id="queryController" class="web.QueryController">
<property name="sessionForm"><value>true</value></property>
<property name="commandName"><value>queryBuilder</value></property>
<property name="commandClass"><value>bus.QueryBuilder</value></property>
<property name="validator"><ref bean="queryValidator"/></property>
<property name="formView"><value>query</value></property>
<property name="successView"><value>result</value></property>
</bean>
<bean id="resultController" class="web.ResultController"/>
<bean id="urlMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/query.html">queryController</prop>
</props>
</property>
</bean>
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass">
<value>org.springframework.web.servlet.view.JstlView</value>
</property>
<property name="prefix"><value>/WEB-INF/jsp/</value></property>
<property name="suffix"><value>.jsp</value></property>
</bean>
</beans>
SimpleFormController.onSubmit:
Code:
protected ModelAndView onSubmit(Object object) throws Exception {
QueryBuilder builder = (QueryBuilder) object;
// How can I get requester in this place?
requester.setParams(builder);
requester.execute();
Map model = new HashMap();
model.put("result", requester.getResult());
return new ModelAndView(getSuccessView(), model);
}