Использование MultiActionController - PullRequest
1 голос
/ 25 августа 2010

В настоящее время я использую подкачку на моей странице, которая использует MultiActionController, которая отлично отображает страницу jsp, на этой же странице теперь я хочу проверить простое текстовое поле (input/form:input), также хочу получить имя и идентификатор из выпадающего (Select option) после нажатия на ссылку. Просто !!

Два вопроса

  1. Могу ли я использовать класс Validator? и внедрить его так же, как simpleformcontroller в конфигурации или каким-либо другим способом в контроллере? Как? пример пожалуйста?

  2. Могу ли я использовать Java-бин в jsp -> я всегда получаю ошибку привязки, как указанному контроллеру использовать этот бин? я передал в качестве аргумента в мой метод add, а также попытался переопределить newCommandObject

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();
}

1 Ответ

0 голосов
/ 14 сентября 2011

Я сделаю что-то вроде ниже в версии 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;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...