Continuamos con las peticiones de un Portlet. En el anterior post vimos como navegar entre páginas. Esto es análogo a las peticiones GET de HTTP. Lo que ahora veremos es cómo atender peticiones tipo POST que generalmente están asociadas a las peticiones de un formulario.
Similar al
Luego, en nuestro
Ahora, crearemos nuestro formulario usando los tags de Liferay:
Todo el JSP lucirá así:
Y listo, todo queda igual.
En el vídeo podrás apreciar cómo funciona todo junto.
Si te gustó el vídeo, dale like; si te es útil, compártelo... es gratis.
Y si tienes algún comentario, pregunta, queja, denuncia, no dejes de hacerlas en la caja de comentarios de aquí o el del vídeo, y así estaremos más en contacto.
¡Bendiciones!
Similar al
MVCRenderCommand
del anterior post, aquí debemos crear una clase que implemente a com.liferay.portal.kernel.portlet.bridges.mvc.MVCActionCommand
. Esta clase sería algo como esta:package com.apuntesdejava.virtualclassroom.course.portlet; import javax.portlet.ActionRequest; import javax.portlet.ActionResponse; import javax.portlet.PortletException; import org.osgi.service.component.annotations.Component; import com.apuntesdejava.virtualclassroom.course.constants.CoursePortletKeys; import com.liferay.portal.kernel.log.Log; import com.liferay.portal.kernel.log.LogFactoryUtil; import com.liferay.portal.kernel.portlet.bridges.mvc.MVCActionCommand; import com.liferay.portal.kernel.util.ParamUtil; @Component( immediate = true, property = { "javax.portlet.name=" + CoursePortletKeys.COURSE, //el portlet al que pertenece "mvc.command.name=/course/update" //el nombre de esta action }, service = MVCActionCommand.class ) public class CourseUpdateMVCActionCommand implements MVCActionCommand { @Override public boolean processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws PortletException { String courseName = ParamUtil.getString(actionRequest, "name"); //recibimos un parámetro... _log.info("nombre del curso:"+courseName); //... y lo mostramos return true; //devolvemos true para indicar que fue satisfactorio } private static final Log _log=LogFactoryUtil.getLog(CourseUpdateMVCActionCommand.class); }
Luego, en nuestro
edit.jsp
debemos crear el URL, usando <liferay-portlet:actionURL>
que está asociado al action que acabamos de crear. El nombre del action irá en el atributo name
, así:<liferay-portlet:actionURL var="updateURL" name="/course/update"> </liferay-portlet:actionURL>
Ahora, crearemos nuestro formulario usando los tags de Liferay:
<aui:form action="<%= updateURL %>"> <aui:input name="name" label="course.name" type="text" ></aui:input> <aui:button-row> <aui:button type="submit" value="save"></aui:button> <aui:button type="cancel" value="cancel" href="<%= backURL %>"></aui:button> </aui:button-row> </aui:form>
Todo el JSP lucirá así:
<%@ include file="init.jsp" %> <liferay-ui:header title="course.edit" backURL="<%= backURL %>"></liferay-ui:header> <liferay-portlet:actionURL var="updateURL" name="/course/update"> <liferay-portlet:param name="backURL" value="<%= currentURL %>"/> </liferay-portlet:actionURL> <aui:form action="<%= updateURL %>"> <aui:input name="name" label="course.name" type="text" ></aui:input> <aui:button-row> <aui:button type="submit" value="save"></aui:button> <aui:button type="cancel" value="cancel" href="<%= backURL %>"></aui:button> </aui:button-row> </aui:form>
Y listo, todo queda igual.
En el vídeo podrás apreciar cómo funciona todo junto.
Si te gustó el vídeo, dale like; si te es útil, compártelo... es gratis.
Y si tienes algún comentario, pregunta, queja, denuncia, no dejes de hacerlas en la caja de comentarios de aquí o el del vídeo, y así estaremos más en contacto.
¡Bendiciones!