liferay-ui:input-move-boxes从动作中获取List

时间:2012-05-31 23:37:53

标签: java jsp action liferay portlet

我从my.jsp获取ArrayList到action.java

my.jsp

<%
List left = new ArrayList(), right = new ArrayList(), l = new ArrayList();
left.add(new KeyValuePair("1key", "item1value"));
left.add(new KeyValuePair("4key", "item4value"));
left.add(new KeyValuePair("3key", "item3value"));
right.add(new KeyValuePair("2key", "item2value"));
%>
<aui:form action="<%= editListURL %>" method="post">
<liferay-ui:input-move-boxes
    leftBoxName="left"
    leftTitle="Left box"
    leftList="<%=left %>"
    rightBoxName="right"
    rightTitle="Right box"
    rightList="<%=right %>"     
/>
<aui:button type="submit" value="send"/>
</aui:form>

action.java

public void setSelectMyStdudent(ActionRequest actionRequest,
            ActionResponse actionResponse) throws IOException, PortletException {
        try{
            String left = "";
            left = actionRequest.getParameter("left");
            if(left.isEmpty() || left == "" || left == null) {
                System.out.println("left EMPTY");
                left = "0";
            } else {
                KeyValuePair pair = new KeyValuePair();
                pair.setKey(left);
                System.out.println("left = " + left);
            }
        } catch (Exception e) {
            System.out.println("Exception: " + e);
        }
    }

这是代码不起作用(。 请帮我解决这个问题。 如何从jsp文件中获取密钥?

1 个答案:

答案 0 :(得分:0)

您的代码看起来是正确的,唯一的问题是您的“setSelectMyStdudent”是否实际被调用。

你在哪里定义:

<%= editListURL %>

至于这个工作,它应该被定义为:

<portlet:actionURL var="editListURL " name="setSelectMyStudent" />

你知道你有一个拼写错误,你有“setSelectMyStdudent”应该是“setSelectMyStudent”。我在我的例子中已经纠正了这一点。

如果这有帮助,或者您还有其他问题,请告诉我。