JSP AUI Button:如何设置属性

时间:2014-06-03 14:50:34

标签: jsp liferay liferay-aui

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

但是我只想在有人点击按钮并将其发送到我的portlet的processAction(..)方法时设置一个属性(比如String abc = def;)。 我正在使用单个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);
    }

view.jsp的

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

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

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

我希望有人可以给我一个提示,我现在只是坚持了。 谢谢!

1 个答案:

答案 0 :(得分: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>