wie zum einfügen von Daten in db mit Hilfe der liferay-portlet
Einfügen von Daten in MySql mit Liferay?
Ich erstellt habe, Bearbeiten.jsp anzeigen.jsp aus Bearbeiten.jsp-ich möchte Daten eingeben und in der Ansicht.jsp-ich will mich zeigen, meine Daten. Diese Daten geben Sie in "Bearbeiten".jsp gespeichert werden soll in meiner mysql-Tabelle. Die ich erstellt habe service.xml portal-ext.Eigenschaften.
Ich die java-Datei auch. Bitte sagen Sie mir, wo soll ich schreiben, meine Einfügung Logik zum speichern meiner Daten in der Datenbank.
Hier ist mein Java-code. Ich habe Bearbeiten.jsp-Datei und Ansicht.jsp-Datei, erstellt habe ich die Tabelle mit service.xml Datei und ich habe meine portal-ext.Eigenschaften in Klassen-Ordner. Ist jedes Ding, das fehlt? Ich bin neu in liferay
package com.portlet;
import java.io.IOException;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.GenericPortlet;
import javax.portlet.PortletException;
import javax.portlet.PortletMode;
import javax.portlet.PortletPreferences;
import javax.portlet.PortletRequestDispatcher;
import javax.portlet.PortletURL;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import com.liferay.counter.service.CounterLocalServiceUtil;
import com.liferay.portal.kernel.exception.SystemException;
import com.liferay.portlet.model.testimonial;
import com.liferay.portlet.service.testimonialLocalServiceUtil;
public class Testimonial extends GenericPortlet {
protected String editJSP;
protected String viewJSP;
private static Log _log = LogFactory.getLog(Testimonial.class);
public void init() throws PortletException
{
editJSP = getInitParameter("edit-jsp");
viewJSP = getInitParameter("view-jsp");
}
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);
}
public void doView(RenderRequest renderRequest,RenderResponse renderResponse) throws IOException, PortletException
{
PortletPreferences prefs = renderRequest.getPreferences();
String username = (String) prefs.getValue("name", "");
String area=(String)prefs.getValue("area", "testimonial");
String email=(String)prefs.getValue("email", "");
String subject=(String)prefs.getValue("subject", "");
String company=(String)prefs.getValue("company", "");
String designation=(String)prefs.getValue("designation", "");
if (username.equalsIgnoreCase (""))
{
username = "";
}
renderRequest.setAttribute("userName", username);
renderRequest.setAttribute("area",area);
renderRequest.setAttribute("email",email);
renderRequest.setAttribute("subject",subject);
renderRequest.setAttribute("designation",designation);
renderRequest.setAttribute("company",company);
include(viewJSP, renderRequest, renderResponse);
}
public void processAction(ActionRequest actionRequest, ActionResponse actionResponse) throws IOException, PortletException
{
String addName = actionRequest.getParameter("addName");
if (addName != null)
{
PortletPreferences prefs = actionRequest.getPreferences();
prefs.setValue("name", actionRequest.getParameter("username"));
prefs.setValue("area",actionRequest.getParameter("area"));
prefs.setValue("email",actionRequest.getParameter("email"));
prefs.setValue("subject",actionRequest.getParameter("subject"));
prefs.setValue("designation",actionRequest.getParameter("designation"));
prefs.setValue("company",actionRequest.getParameter("company"));
prefs.store();
testimonial testimonial = null;
try {
testimonialLocalServiceUtil.createtestimonial(CounterLocalServiceUtil.increment());
} catch (SystemException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
testimonial.setSubject(actionRequest.getParameter("subject"));
testimonial.setArea(actionRequest.getParameter("area"));
testimonial.setUsername(actionRequest.getParameter("username"));
testimonial.setEmail(actionRequest.getParameter("email"));
testimonial.setCompany(actionRequest.getParameter("company"));
testimonial.setDesignation(actionRequest.getParameter("designation"));
try {
testimonialLocalServiceUtil.addtestimonial(testimonial);
} catch (SystemException e) {
//TODO Auto-generated catch block
e.printStackTrace();
}
actionResponse.setPortletMode(PortletMode.VIEW);
}
}
protected void include(String path, RenderRequest renderRequest,RenderResponse renderResponse) throws IOException, PortletException
{
PortletRequestDispatcher portletRequestDispatcher = getPortletContext().getRequestDispatcher(path);
if (portletRequestDispatcher == null)
{
_log.error(path + " is not a valid include");
}
else
{
portletRequestDispatcher.include(renderRequest, renderResponse);
}
}
}
Hallo sagen Sie mir .. welche Schritte ich befolgen soll?
Ah, sorry. War ich irrezuführen, indem Sie Ihre mysql-tag. Sie möchten presist PortletPreferences ich jetzt sehen.
InformationsquelleAutor Java D | 2013-03-30
Du musst angemeldet sein, um einen Kommentar abzugeben.
Haben Sie entweder die Verwendung der Liferay-Standard-API für den Zugriff auf und einfügen von Daten in Standard-Liferay-Tabellen, oder wenn Sie wollen, um den Zugriff/einfügen in die Benutzerdefinierte(selbst gemacht) Tabellen in der Datenbank, dann verwenden Sie die Liferay Service Builder.
In deiner Frage - Sie können Ihre Tabellen manuell in die Datenbank zuerst.
Dann können Sie
service.xml
und bauen Sie den service mithilfe des ant-build-Datei, die Ihnen dieLocalServiceUtil
Klassen. In Ihrem Fall ist estestimonialLocalServiceUtil
Klasse.Auch wie pro Ihre code, der
processAction
zwingende Methode korrekt ist.Bitte überprüfen Sie die Tabelle und Spalten, Angaben in service.xml. Es sollte nicht irgendein problem haben.
Hier ist ein link, der Ihnen helfen kann -
http://www.phloxblog.in/liferay-service-builder-step-step/
Und, wenn Sie keine Ausnahme sind, teilen Sie diese zu uns, so dass wir verstehen können, das problem.
Dank
wenn ich einen Rechtsklick auf myportlet ich kann nicht sehen, service-builder-option. ich habe zu machen service.xml Datei manuell. fehlt etwas?
Diese sind liferay-Standard-Klassen und Methoden, die ausgesetzt sind als library im SDK. Aber Sie können nicht verwenden Standard-Klassen und Methoden für die benutzerdefinierten Tabellen. Dort haben Sie, um service durch service builder.
Werden Sie sicher, Sie sind in "Liferay" - Perspektive in Eclipse. Dann das Projekt auswählen ->new->Liferay Service Builder. Danke.
ich habe eclipse download von diesem link, die u stellen.. ich habe ubuntu 32 bit. ich lösche meine alte eclipse von meinem lokalen Laufwerk, dann ich entpacken Sie meine neue, aktuelle download-eclipse-version. aber wenn ich versuche zu sehen, service builder, noch kann ich nicht sehen .. bitte helfen Sie mir was ich tun soll ... 🙁
InformationsquelleAutor Piyas De
Befolgen Sie die folgenden Schritte aus:
service.xml
In jsp:
com.Datenbank.service.impl.BookLocalServiceImpl
com.portlet
Demo-Klasse
InformationsquelleAutor karthik
Ich würde nicht einverstanden mit @kartik über den Aufruf
Book book = new BookImpl()
;Verwenden
Book book = BookLocalServiceUtil.createBook(0)
statthttps://web.liferay.com/community/forums/-/message_boards/message/79177774
Und für die Speicherung würde ich auch empfehlen dieser Artikel.
https://javaeasyforu.blogspot.de/2014/06/insert-data-into-db-using-service.html
InformationsquelleAutor Imdadul Huq Naim