将日期从view.jsp传递到我的Java Portlet

时间:2019-07-09 17:16:37

标签: java html liferay

我的view.jsp上有以下代码:

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>

<portlet:defineObjects />
<portlet:actionURL name="filterByDate" var="activitiesPortlet" />

<form action="${activitiesPortlet}" method="post">
    Start: <input type="date" name="start-date"> 
    End: <input type="date" name="end-date">
    <input type="submit" value="Filter"> 
</form>

还有我的Java Portlet上的函数:

public void filterByDate(ActionRequest request, ActionResponse response) {
    Object startDate = ParamUtil.get(request, "start-date", "");
    System.out.println(startDate.toString());
}

由于系统输出打印空白行,因此调用了该函数。但是我无法获得输入日期的值。将html输入日期传递给Java Portlet的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

除非您没有将Portlet的requires-namespaced-parameters设置为false,否则ParamUtil.getXX不会处理未命名的参数

您可以使用<aui:input>字段(它们处理名称空间)或将Portlet名称空间(例如<portlet:namespace>)作为输入字段名称的前缀。另外,您可以在Portlet代码中使用ParamUtil.getDate来处理使用特定DateFormat发送的日期。