我想从mysql中检索数据并插入数据。
我提供 3 个文件,一个 java 文件和两个 jsp 文件edit.jsp
,view.jsp
分别编辑和查看数据。
我已经使用创建表ServiceBuilder
,我已经把我portal-ext.properties
的类文件夹,告诉我这是完美的方法吗?我以正确的方式做吗?
我想先插入数据,然后我想从数据库中检索数据。
我正在通过以下 jsp 文件插入数据 -
edit.jsp
<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %> <jsp:useBean class="java.lang.String" id="addNameURL" scope="request" /> <jsp:useBean class="java.lang.String" id="area" scope="request"/> <jsp:useBean class="java.lang.String" id="email" scope="request"/> <jsp:useBean class="java.lang.String" id="subject" scope="request"/> <jsp:useBean class="java.lang.String" id="compnay" scope="request"/> <jsp:useBean class="java.lang.String" id="designation" scope="request"/> <portlet:defineObjects /> <form id="<portlet:namespace />helloForm" action="<%= addNameURL %>"method="post"> <table> <tr> <td>Subject:</td> <td><input type="text" name="subject"></td> </tr> <tr> <td> Write Your Testimonial </td> <td><textarea name ="area"></textarea> </td> </tr> <tr> <td>Name:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>Email:</td> <td><input type="text" name="email"></td> </tr> <tr> <td>Company:</td> <td><input type="text" name="company"></td> </tr> <tr> <td>Designation:</td> <td><input type="text" name="designation"></td> </tr> </table> <input type="submit" id="nameButton" title="Submit" value="Submit"> </form>
我已经在以下 java 文件中编写了我的插入逻辑 -
Testimonial1
:package com.liferay.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 Testimonial1 extends GenericPortlet { 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()); 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")); 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); } } protected String editJSP; protected String viewJSP; private static Log _log = LogFactory.getLog(Testimonial1.class); }
我已经在以下文件中编写了我的视图逻辑 -
view.jsp
我想从以下文件中的数据库中检索数据:<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %> <jsp:useBean id="subject" class="java.lang.String" scope="request"/> <jsp:useBean id="area" class="java.lang.String" scope="request"/> <jsp:useBean id="userName" class="java.lang.String" scope="request" /> <jsp:useBean id="email" class="java.lang.String" scope="request"/> <jsp:useBean id="company" class="java.lang.String" scope="request"/> <jsp:useBean id="designation" class="java.lang.String" scope="request"/> <portlet:defineObjects /> <p>This is the Testimonial portlet......... how are u all ..........</p> <p>Subject is ....<%=subject %></p> <p>Testimonial is .....<%=area %></p> <p>Hello <%= userName %>!</p> <p>your Email ......<%=email %></p> <p>your company .....<%=company %></p> <p>You are .......<%=designation %></p>
我的
service.xml
档案<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.1.0//EN" "http://www.liferay.com/dtd/liferay-service-builder_6_1_0.dtd"> <service-builder package-path="com.liferay.portlet"> <author>ubuntu</author> <namespace>perception</namespace> <entity name="testimonial" local-service="true" remote-service="true"> <column name="subject" type="String"></column> <column name="area" type="String"></column> <column name="username" type="String"></column> <column name="email" type="String"></column> <column name="company" type="String"></column> <column name="designation" type="String"></column> </entity> </service-builder>
我的
portal-ext.properties
文件:# # MySQL # jdbc.default.driverClassName=com.mysql.jdbc.Driver jdbc.default.url=jdbc:mysql://localhost/lportal?useUnicode=true&characterEn coding=UTF-8&useFastDateParsing=false jdbc.default.username=root jdbc.default.password=ubuntu123 schema.run.enabled=true schema.run.minimal=true
我已经把我所有的文件都放好了,现在请告诉我我必须做些什么来插入和检索数据。
请告诉我插入代码是否正确?以及如何从数据库中检索数据?