В портлете JSP Мне нужно создать серию AcctionURL ciclying над массивом значений.Портлет JSP: Как создать серию ActionURL на основе массива значений
Все нормально в приведенном ниже коде, который я использовал для genarate Серию из RenderURL:
<%
PortletURL manageReportURL = renderResponse.createRenderURL();
manageReportURL.setParameter("jspPage", "/html/ManageDossier/manageReport.jsp");
manageReportURL.setParameter("dossierEntryIds", primKey);
manageReportURL.setParameter("redirect", rowURL);
for (int w = 0; w < csApps.size(); w++) {
manageReportURL.setParameter("csAppReportId", String.valueOf(csApps.get(w).getCompanyStudioAppId()));
%>
<liferay-ui:icon image="category" message="<%= csApps.get(w).getDescription() %>" url="<%= manageReportURL.toString() %>" />
<%
}
%>
я использовал тот же самый вид кода ResourceURL и все в порядке:
<%
ResourceURL serveResourceURL = renderResponse.createResourceURL();
serveResourceURL.setParameter("dossierId", primKey);
for (int n = 0; n < csAppsNoParms.size(); n++) {
serveResourceURL.setParameter("csAppReportId", String.valueOf(csAppsNoParms.get(n).getCompanyStudioAppId()));
%>
<liferay-ui:icon image="print" message="<%= LanguageUtil.get(themeDisplay.getLocale(), \"print\") + StringPool.SPACE + csAppsNoParms.get(n).getDescription() %>" url="<%= serveResourceURL.toString() %>" />
<%
}
%>
Но когда я сделаю то же самое для ActionURL, у меня нет ошибок, но мой код действия никогда не выполняется - просто ничего не делается:
<%
PortletURL notifyDossierToDittaURL = renderResponse.createActionURL();
notifyDossierToDittaURL.setParameter("resourcePrimKey", primKey);
notifyDossierToDittaURL.setParameter("redirect", rowURL);
for (int n = 0; n < msgContentToDittaCodes.length; n++) {
notifyDossierToDittaURL.setParameter("msgContentCod", msgContentToDittaCodes[n]);
%>
<liferay-ui:icon image="news" message="<%= LanguageUtil.get(themeDisplay.getLocale(), \"send\") + StringPool.SPACE + msgContentToDittaCodes[n] %>" url="<%= notifyDossierToDittaURL.toString() %>" />
<%
}
%>
Пожалуйста, кто-нибудь может увидеть разницу между вышеуказанными createRenderURL() и createActionURL()?
Или напишите мне, чтобы сгенерировать серию ActionURL на основе массива значений?
Спасибо заранее, Ивано С.
У вас есть только один метод processAction() в вашем портлете? Пожалуйста, также разместите свой код портлета. –
Привет, Thakkar, спасибо за ваш вопрос. Благодаря портлету MVCPortlet от Liferay у меня может быть несколько процессов processAction(), например, код JSP в моем первоначальном вопросе вызывает метод ниже: public void notifyDossierToDittaURL (запрос ActionRequest, ответ ActionResponse) throws SystemException, IOException , PortalException {} – icarrara