简单的 Liferay ProcessAction 不工作

Simple Liferay ProcessAction not working

小门户 Class

public class AddRoomController extends MVCPortlet {

    public void doView(RenderRequest renderRequest, RenderResponse renderResponse)
            throws IOException, PortletException {
        System.out.println("hu to call thau chu...");
        super.doView(renderRequest, renderResponse);
    }

    // @ProcessAction(name="addRooms")       //Adding this annotation also not solving the issue
    public void addRooms(ActionRequest actionRequest, ActionResponse actionResponse)
            throws IOException, PortletException {
        System.out.println("Called");
        String locationName = actionRequest.getAttribute("locationName").toString();
        System.out.println("===> "+locationName);
        actionResponse.sendRedirect("addRooms.jsp");
    }
}

view.jsp

片段 1

<body>
<portlet:actionURL name="addRooms" var="addRoomsUrl"></portlet:actionURL>
<form action="${addRoomsUrl}" method="post">
<!-- Custom Inputs -->    
</form>
</body>

片段 2

<body>
<portlet:actionURL name="addRooms" var="addRoomsUrl"></portlet:actionURL>
<form action="<%=addRoomsUrl%>" method="post">
<!-- Custom Inputs -->    
</form>
</body>

我正在尝试使用以上两个代码片段调用操作方法,但其中 none 有效。

在我的 Portlet 中调用了 doView(),但是当我尝试调用 processAction 方法名称 addRooms 时,它给出了空值错误。 我想尽可能避免使用 alloy-ui。

如有任何帮助,我们将不胜感激...

使用这些解决了错误:

  1. 使用 actionRequest.getParameter(paramName)
  2. 在表单参数名称中定义 Portlet 命名空间