Oi pessoal!
Estou desenvolvendo minha primeira aplicação spring e estou tentando usar o MultiActionController para funcionar como o DispatchAction do Struts, mas estou tendo alguns problemas… Ele não está reconhecendo os parâmetros passados na URL.
Eu passo na URL http://localhost:9080/springapp/hello1.htm?action=consultar e no meu springapp-servlet.xml tenho
<bean id="paramResolver" class="org.springframework.web.servlet.mvc.multiaction.ParameterMethodNameResolver">
<property name="paramName">
<value>action</value>
</property>
</bean>
<bean id="paramMultiController" class="org.springframework.web.servlet.mvc.multiaction.MultiActionController">
<property name="methodNameResolver"><ref bean="paramResolver"/></property>
<property name="delegate"><ref bean="hello1"/></property>
</bean>
<bean id="hello1" class="springapp.web.ProductFormController" name="/hello1.htm">
<property name="productManager" ref="productManager"/>
</bean>
e minha classe Java ProductFormController.java
package springapp.web;
import java.io.IOException;
import java.util.Date;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
import springapp.service.ProductManager;
public class ProductFormController extends MultiActionController {
/** Logger for this class and subclasses */
protected final Log logger = LogFactory.getLog(getClass());
private ProductManager productManager;
public ModelAndView consultar(HttpServletRequest request, HttpServletResponse response) {
System.out.println("We are inside ProductFormController.consultar() !!");
String now = (new java.util.Date()).toString();
logger.info("returning hello view with " + now);
Map<String, Object> myModel = new HashMap<String, Object>();
myModel.put("now", now);
myModel.put("products", this.productManager.getProducts());
return new ModelAndView("hello", "model", myModel);
}
public ModelAndView hello1(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
System.out.println("We are inside ProductFormController.hello1() !!");
String now = (new Date()).toString();
logger.info("Returning hello view with " + now);
return new ModelAndView("hello", "now", now);
}
public void setProductManager(ProductManager productManager) {
this.productManager = productManager;
}
}
mas a aplicação está acessando o método hello1 ao invés do consultar informado na URL
Vcs sabem como resolver este?
Obrigado
