Я разработал портлет liferay6.1 с spring mvc, где у меня есть два drop down (первый вариант и второй вариант), text box (введите имя) и сохранение button.
У меня есть два запроса ajax, соответствующие каждому drop down. Скажем, например, для второго раскрывающегося списка у меня есть метод javascript, в котором я создаю URL-адрес действия с параметром action со значением в нем, как показано ниже.
<portlet:actionURL portletMode='view'><portlet:param name='action' value='dropDownSelect'/></portlet:actionURL> .
Точно так же у меня есть метод javascript для других drop down, где я также предоставляю URL-адрес действия, например
<portlet:actionURL portletMode='view'><portlet:param name='action' value='addAnotherOption'/></portlet:actionURL>.
Когда я нажимаю кнопку «Сохранить», я отправляю форму, в которой я создал URL-адрес без параметра действия. подобно
<portlet:actionURL portletMode='view'></portlet:actionURL>.
Итак, для каждого действия у меня есть другой метод в моем controller.java, который будет получать этот запрос действия. Для двух методов действия у меня есть аннотация типа
@RequestMapping(params = "action=dropDownSelect")
поверх метода. Только для одного метода действия я просто дал аннотацию, подобную этой
@RequestMapping("VIEW")
Моя проблема часто заключается в том, что запрос действия с параметром не получает правильный метод, вместо этого он переходит к методу, который имеет аннотацию как @RequestMapping("VIEW").
Я использовал тот же код в liferay6.0, где я не сталкивался с подобными проблемами, но в Liferay 6.1 я часто сталкиваюсь с этой проблемой. Может ли кто-нибудь помочь мне с проблемой?