java - 来自 liferay 文档的 Portlet

标签 java jsp liferay portlet

您好,我尝试使用 liferay 文档中的 portlet。但是我的 java 类不起作用。

我的问候组件

package com.liferay.samples;  
import java.io.IOException; 
import javax.portlet.ActionRequest; 
import javax.portlet.ActionResponse; 
import javax.portlet.PortletException; 
import javax.portlet.PortletPreferences; 
import com.liferay.util.bridges.mvc.MVCPortlet;  
public class MyGreetingPortlet extends MVCPortlet { @Override 
public void processAction( ActionRequest actionRequest, ActionResponse actionResponse) 
        throws IOException, PortletException { 
    PortletPreferences prefs = actionRequest.getPreferences(); 
    String greeting = actionRequest.getParameter("greeting");  
    if (greeting != null) { 
        prefs.setValue("greeting", greeting); 
        prefs.store();
        }  
    super.processAction(actionRequest, actionResponse); 
    } 
}

View .jsp

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> 
<%@ page import="javax.portlet.PortletPreferences" %> 
<portlet:defineObjects />
<% PortletPreferences prefs = renderRequest.getPreferences();
String greeting = (String)prefs.getValue( "greeting", "Hello! Welcome to our portal."); %>
<p><%= greeting %></p>
<portlet:renderURL var="editGreetingURL"> <portlet:param name="jspPage" value="/edit.jsp" /> 
</portlet:renderURL> 
<p><a href="<%= editGreetingURL %>">Edit greeting</a></p> 

编辑.jsp

<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %> 
<%@ page import="com.liferay.portal.kernel.util.ParamUtil" %> 
<%@ page import="com.liferay.portal.kernel.util.Validator" %> 
<%@ page import="javax.portlet.PortletPreferences" %>  
<portlet:defineObjects />  
<% PortletPreferences prefs = renderRequest.getPreferences(); 
String greeting = (String)prefs.getValue( "greeting", "Hello! Welcome to our portal."); %>  
<portlet:actionURL var="editGreetingURL"> <portlet:param name="jspPage" value="/edit.jsp" /> 
</portlet:actionURL>  
<form action="<%= editGreetingURL %>" method="post"> 
<label><input type="text"><%= greeting %></label>
<input type="submit" name="submit" value="Submit">
</form>  
<portlet:renderURL var="viewGreetingURL"> 
<portlet:param name="jspPage" value="/view.jsp" /> 
</portlet:renderURL>  
<p><a href="<%= viewGreetingURL %>">&larr; Back</a></p>

部署 jsp 后工作正常,但当我单击“提交”按钮时,没有任何反应。在这个例子中我只改变了一件事:删除 aui 标签但不认为改变什么,因为我已经尝试了几个不同的例子并且没有人使用 java 类。哦,我使用 MVC portlet。

最佳答案

我认为您在 portlet.xml 中的 portlet 类未指向您的自定义 portlet 类,并且仍在引用 MVCPortlet。请将其更改为指向您的自定义 portlet 类

---更新---

在我本地检查你的代码后发现你传递参数的方式不正确。您没有传递参数的名称。您应该传递如下所示的参数。

<input type="text" name="<portlet:namespace/>greeting"><%= greeting %></input>

关于java - 来自 liferay 文档的 Portlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11201084/

相关文章:

java - 检查通用/模板类型

mysql - 如何从我的 liferay 自定义 portlet 使用自定义 mysql 查询?

java - Liferay 服务构建器 : is there a practical limit for max number of entities in a webapp?

java - 使用 html 表单时 servlet 404 发现错误

java - 需要知道用户加入 Liferay 组的日期

java - 在 Java 中使用蒙版图像的十六进制进行 map 碰撞的问题

java - 计算arraylist中的相等元素

Java Netbeans : How to layer panels on top of each other?

java - Wicket 口授权角色 : inject external user credential from JSP

java - 如何在 Spring 中将 AutopopulatedList<ChildClass> 引用到 List<AbstractBaseClass> ?