如何在liferay中为超链接创建动作url



我有一个要求,当我点击超链接时,我会发送一个参数课程id,它必须转到portlet类中的操作方法。然后我需要在浏览器上显示操作完成后的成功和失败消息!

 public void DeleteCourses(ActionRequest request,ActionResponse response) throws IOException,PortletException
    {
        String cid=request.getParameter("courseId");
        long courseId = Long.parseLong(cid);
        try {
            CourseLocalServiceUtil.deleteCourse(courseId);
            } 
         catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

有人能告诉我如何为超链接创建动作url吗?

您可以在JSP上这样写:

<portlet:actionURL name="DeleteCourses" var="DeleteCoursesURL">
     <portlet:param name="courseId" value="the_course_id"></portlet:param>
</portlet:actionURL>
<a href="${DeleteCoursesURL}"> Delete Course </a>

由于portlet类继承自MVCPortlet,所以方法DeleteCourses的名称应该和actionURL 的名称相同

你可以在这里查看完整的例子

对于成功和错误消息,你可以简单地使用liferay内置功能:

 <liferay-ui:success key="success" message="Course deleted successfully!" />

对于错误:

 <liferay-ui:error key="error" message="Course could not be deleted" />

你可以在这里查看一个例子

最新更新