我希望我的问题不是太愚蠢但我现在还没有得到它。 我找到了很多关于通过单击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();'或类似的东西,但我找不到。
我希望有人可以给我一个提示,我现在只是坚持了。 谢谢!
答案 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>