0

我希望我的问题不是太愚蠢,但我现在不明白。我找到了很多关于通过单击 aui 按钮更改页面(JSP 页面)的教程。

但我只想在有人单击按钮时设置一个属性(如 String abc = def;)并将其发送到我的 portlet 的 processAction(..) 方法。我正在使用单个 JSP 页面。portlet 类扩展了 MVCPortlet。

到目前为止,我得到了: PortletClass

    @Override
    public void processAction(ActionRequest actionRequest,
            ActionResponse actionResponse) throws IOException, PortletException {
        String docRead = actionRequest.getParameter("docRead");
        log.info("Log says: " + docRead);
    }

视图.jsp

<%
String docRead = "FOOBAR DO I SAY";
%>

<aui:button name="docRead" type="submit" value="I have read this" />

我认为有一个简单的解决方案,比如'actionParameters.setPreferences();' 或类似的东西,但我找不到东西。

我希望有人能给我一个提示,我现在只是卡住了。谢谢!

4

1 回答 1

2

一种选择是提供您尝试调用的onClick事件。actionURL

定义actionURL

<portlet:actionURL name='someActionMethodName' var="myURL">
  <portlet:param name="parameterLookupKey" value="Some Value You Want To Pass" />
</portlet:actionURL>

Action在你的类中实现方法

public void someActionMethodName(ActionRequest request, ActionResponse response){
    System.out.println(ParamUtil.getString(request, "parameterLookupKey"));
}

要调用该generic processAction方法,您只需将 中的方法名称替换actionURL为该确切文本即可。

<portlet:actionURL name='processAction' var="myURL">
  <portlet:param name="parameterLookupKey" value="Passed to Generic Process Action" />
</portlet:actionURL>

actionURL与 一起使用<aui:button>

<aui:button value="Button Text" onClick='<%=myURL.toString()%>'></aui:button>
于 2014-06-03T16:51:49.647 回答