Liferay 7.2. Atendiendo peticiones en un Portlet
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!
تعليقات
إرسال تعليق
Si quieres hacer una pregunta más específica, hazla en los foros que tenemos habilitados en Google Groups
Ah! solo se permiten comentarios de usuarios registrados. Si tienes OpenID, bienvenido! Puedes obtener su OpenID, aquí: http://openid.net/