我正在關注Liferay In Action書籍。我正在將編輯模式添加到portlet的部分。 Portlet部署成功,我已經添加了Portlet,現在本書說要單擊Portlet中的扳手並單擊「首選項」鏈接,但我沒有首選項鍊接。視圖工作正常。Liferay portlet中沒有編輯模式
這裏是我的portlet.xml
:
<?xml version="1.0"?>
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_2_0.xsd" version="2.0">
<portlet>
<portlet-name>hello-john</portlet-name>
<display-name>Hello John</display-name>
<portlet-class>com.liferaytest.portlet.HelloJohnPortlet</portlet-class>
<init-param>
<name>view-jsp</name>
<value>/view.jsp</value>
</init-param>
<init-param>
<name>edit-jsp</name>
<value>/edit.jsp</value>
</init-param>
<expiration-cache>0</expiration-cache>
<supports>
<mime-type>text/html</mime-type>
<portlet-mode>view</portlet-mode>
<portlet-mode>edit</portlet-mode>
</supports>
<portlet-info>
<title>Hello John</title>
<short-title>Hello John</short-title>
<keywords>Hello John</keywords>
</portlet-info>
<security-role-ref>
<role-name>administrator</role-name>
</security-role-ref>
<security-role-ref>
<role-name>guest</role-name>
</security-role-ref>
<security-role-ref>
<role-name>power-user</role-name>
</security-role-ref>
<security-role-ref>
<role-name>user</role-name>
</security-role-ref>
</portlet>
我edit.jsp
:
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
<jsp:useBean class="java.lang.String" id="addNameURL" scope="request" />
<portlet:defineObjects />
<form
id ="<portlet:namespace />helloForm"
action="<%= addNameURL %>"
method="post">
<table>
<tr>
<td>Name:</td>
<td><input type="text" name ="username"></td>
</tr>
</table>
<input type="submit" id="nameButton" title="Add Name" value="Add Name">
</form>
我的方法的doEdit:
public void doEdit(RenderRequest renderRequest, RenderResponse renderResponse)
throws IOException, PortletException {
renderResponse.setContentType("text/html");
PortletURL addNameURL = renderResponse.createActionURL();
addNameURL.setParameter("addName", "addName");
renderRequest.setAttribute("addNameURL", addNameURL.toString());
include(editJSP, renderRequest, renderResponse);
}
是否可以在doEdit方法中進行調試?我想知道控件是否要通過doEdit方法來完成。接下來,我還希望您在部署過程中看到控制檯,同時將該Portlet放置在頁面中以查看是否有任何錯誤。 – 2012-02-14 06:36:51
我有同樣的問題,我發現我的錯誤比較我的代碼與作者的書liferay在行動http://www.liferay.com/pt/web/richard.sezov/documents代碼。您可以訪問文件夾「代碼」並下載plugins-lia.zip,在那裏您可以找到本書的其他源代碼。 – meurer 2013-06-01 03:18:58