2012-04-14 9 views
0
<portlet:actionURL name="addBook" var="addBookURL" /> 
<aui:form action="<%= addBookURL.toString() %>" method="post"> 

ich diese beiden Methoden innerhalb der MVC Portlet KlasseLiferay 6: Für jede Methode muss ich eine separate actionURL

public void addBook(ActionRequest request, ActionResponse response) { 

} 

public void deleteBook(ActionRequest request, ActionResponse response) { 

} 

In UI haben müssen, kann der Benutzer verschiedene Aktionen wie Add haben , Delete Buch

Jetzt funktioniert das gut mit der Methode addBook, muss ich ein separates Portlet schreiben: actionURL und auiform auch in UI für deleteBook Action ??

Ich bin ein neuer Liferay, also bitte entschuldigen Sie die dummen Fragen.

Wenn es so ist Wie kann es zwei Formen auf einer Seite geben?

Antwort

2

Sie werden so viele Methoden benötigen, wie Sie Aktionsnamen haben:

<portlet:actionURL name="addBook" var="addBookURL" /> 
<aui:form action="<%= addBookURL.toString() %>" method="post"> ... </aui:form> 

<portlet:actionURL name="deleteBook" var="deleteBookURL" /> 
<aui:form action="<%= deleteBookURL.toString() %>" method="post"> ... </aui:form> 

fyi: see what your actionURLs look like: <br/> 
<%=addBookURL.toString()%><br/> 
<%=deleteBookURL.toString()%><br/> 

Wenn Sie weniger Methoden haben, aber immer noch die Aktionsnamen haben, können Sie auch process (actionrequest Anfrage, ActionResponse Antwort außer Kraft setzen) und behandeln Sie die Bedingung (Aktionsname) selbst. Wenn ein Formular mehrere Aktionen ausführt, können Sie es in nur einer Aktion verarbeiten und bestimmen, welchen Inhalt Sie erhalten, z. welche Taste gedrückt wurde. Oder verwenden Sie Javascript, um die Formularaktions-URL beim Senden festzulegen.

Verwandte Themen