2013-05-13 4 views
0

Я хочу отправить форму со значениями и прочитать их методом действий в портлете, но возвращаемые значения являются aways null. Вот мой код, я действительно отчаянный, потому что я не вижу здесь ничего плохого.Поля являются пустыми после отправки формы портлета

<portlet:actionURL name="calculate" var="calculateAction" /> 
    <form name="<portlet:namespace/>calculatorForm" action="${calculateAction}" method="post" enctype="application/x-www-form-urlencoded"> 
     <table> 
       <tr> 
       <td><label for="<portlet:namespace/>date">Date</label></td> 
       <td><input type="text" name="<portlet:namespace/>date" id="<portlet:namespace/>date" /></td> 
       </tr> 
       <tr> 
        <td><label for="<portlet:namespace/>amount">Amount</label></td> 
        <td><input type="text" name="<portlet:namespace/>amount" id="<portlet:namespace/>amount" /></td> 
       </tr> 
       <tr> 
        <td colspan="2"><input type="submit" value="Calculate" /></td> 
       </tr> 
     </table> 
    </form> 

и мой метод выглядит этот метод

@ProcessAction(name = "calculate") 
public void calculate(ActionRequest request, ActionResponse response) { 
    String stringDate = request.getParameter("date"); 
    String stringAmount = request.getParameter("amount"); 
    System.out.println("Amount: " + stringAmount); 
    System.out.println("Date: " + stringDate); 
} 

правильно называется, но обе переменные всегда нуль. Любые подсказки? Спасибо

ответ

1

Поскольку вы добавили пространство имен портлетов к каждому из ваших входных данных формы, вам нужно будет позвонить getParameter с пространством имен. Попробуйте использовать

request.getParameter(response.getNamespace()+"data"); 
request.getParameter(response.getNamespace()+"amount"); 
+0

У меня была такая же ошибка без пространства имен. Но я определенно собираюсь попробовать это –

+0

Это действительно сработало, спасибо –

Смежные вопросы