Java 使用多动作控制器
目前我在我的页面上使用分页,它使用Java 使用多动作控制器,java,spring,spring-mvc,Java,Spring,Spring Mvc,目前我在我的页面上使用分页,它使用MultiActionController完美地显示jsp页面,在同一页面上,现在我想验证一个简单的文本字段(input/form:input),还想在单击链接后从下拉列表(Select option)中检索名称和id。简单 两个问题 我可以使用类实现验证器吗?并以与配置中的simpleformcontroller相同的方式注入它,还是以其他方式注入控制器?怎么用?请举个例子好吗 我可以在jsp中使用JavaBean吗->我总是会遇到绑定错误,如何使用这个bea
MultiActionController
完美地显示jsp页面,在同一页面上,现在我想验证一个简单的文本字段(input/form:input
),还想在单击链接后从下拉列表(Select option
)中检索名称和id。简单
两个问题
Controller.java
public ModelAndView add(HttpServletRequest request, HttpServletResponse response, Person person) throws Exception {
return new ModelAndView("userpage");
}
@Override
protected Object newCommandObject(Class clazz)
throws Exception {
return new Person();
}
我将在Spring版本>2.5中执行以下操作
@Controller
public class YourController
{
protected final Log logger = LogFactory.getLog(getClass());
private final String yourInputJsp = "yourInputJsp";
private final String yourInputJspSuccess = "yourInputJspSuccess";
private YourService yourService;
@Autowired
@Qualifier("yourFormValidator")
private YourFormValidator validator;
@RequestMapping(value = "/yourRequest.htm", method = RequestMethod.GET)
public String referenceData(ModelMap model, HttpServletRequest request) throws Exception
{
yourService = new YourServiceImpl(ContextHandler.getWebAppContext(request));
YourFormData yourFormData = new YourFormData();
model.addAttribute("yourFormData", yourFormData);
return yourInputJsp;
}
@InitBinder()
public void initBinder(WebDataBinder binder) throws Exception {
binder.registerCustomEditor(String.class, new StringMultipartFileEditor());
}
@RequestMapping(value="/yourRequest.htm", method = RequestMethod.POST)
public String process(@ModelAttribute("yourFormData") YourFormData yourFormData, BindingResult result, SessionStatus status, HttpServletRequest request)
{
String mav = yourInputJsp;
validator.validate(yourFormData, result);
if(!result.hasErrors())
{
//Some business logic
mav = "redirect:yourInputJspSuccess.htm";
status.setComplete();
}
return mav;
}
}
您使用的是哪个版本的SpringMVC?我建议您使用JSR-303验证器,该验证器可以从www.hibernate.org获得,但这需要新版本的Spring。但由于您使用的是Spring3,您可能需要重新考虑使用MultiActionController。旧的Controller zoo有一个更灵活的后续版本,您可以通过使用一组新的注释将任何类用作控制器。搜索控制器和有效的注释。