2013-02-19 1 views
1

У меня простая форма входа с контроллером в Spring MVC Portlet framework. Форма выглядит следующим образомSpring MV Porlet ActionMapping не работает

<portlet:actionURL var="loginAction"> 
    <portlet:param name="action" value="login" /> 
</portlet:actionURL> 

<div class="portlet-section-body"> 
    <form:form name="loginForm" method="post" action="${loginAction}" commandName="loginForm" > 
     <table> 
      <tr> 
       <td><span class="portlet-form-field-label">Username: </span></td> 
       <td><form:input class="portlet-form-input-filed" path="login" /></td> 
       <td><form:errors path="login" /></td> 
      </tr> 
      <tr> 
       <td><span class="portlet-form-field-label">Password: </span></td> 
       <td><form:input class="portlet-form-input-filed" path="password" /></td> 
      </tr> 
      <tr> 
       <td><input class="portlet-form-button" type="submit" value="Login"/></td> 
      </tr> 
     </table> 
    </form:form> 
</div> 

и контроллер

@Controller 
@RequestMapping(value="VIEW") 
public class LoginController { 

    @RenderMapping("render=showBookListPage") 
    public String showBookListPage() { 
     return "bookList"; 
    } 

    @ActionMapping(params="action=login") 
    public void loginUser(ActionResponse response) { 
     response.setRenderParameter("render", "showBookListPage"); 
    } 

    @ModelAttribute("loginForm") 
    public LoginForm getLoginForm() { 
     return new LoginForm(); 
    } 
} 

И проблема - когда я отправить форму, я попадаю на страницу /bookShop-1.0/portal/classic/showcase/somePortalGeneratedString что неправильно, потому что мой портлет на localhost:8080/portal/classic/showcase URL, так что я получите ошибку 404. <portlet:renderURL> Тег и отображение работают правильно, но я не могу просто получить эту форму.

Моя среда: JBoss JPP 6,0 (на основе воротав 3.5), Spring 3.2.1 и портлетов 2,0

ответ

1

Это ошибка в Spring 3.2.1 и 3.2.2: https://jira.springsource.org/browse/SPR-10382

Исправление запланировано на 3.2.3. Между тем вы можете понизить до 3.2.0.

+0

Отлично, большое спасибо за разъяснение этого! –