- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何使用Liferay向MySql中插入数据?
我已经从 edit.jsp 创建了 Edit.jsp、view.jsp 我想输入数据并在 view.jsp 中显示我的数据。在 edit.jsp 中输入的数据应该存储在我的 mysql 表中。我已经创建了 service.xml、portal-ext.properties。
我也有java文件。请告诉我应该在哪里编写插入逻辑以将数据存储到数据库中。
这是我的 Java 代码。我有 edit.jsp 文件和 view.jsp 文件,我使用 service.xml 文件创建了表,并将我的 portal-ext.properties 放在类文件夹中。有什么东西不见了吗?我是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);
}
}
}
最佳答案
按照以下步骤:
File-->new-->Liferay Project
Right Click on WEB-INF-->new-->Liferay Service Builder-->Enter the package path(com.database) and namespace(A)-->Finish
Now you have service.xml-->change the properties accoding to your requirement-->save it
Right click on service.xml-->Liferay-->Build Services.
Now you will get some folders,classes and interfaces under docroot/ WEB-INF/src
change in the LiferayLocalServiceImpl.java under com.database.service.impl
create one package like com.portlet in docroot/ WEB-INF/src -->create a class and continue the application
服务.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.database">
<author>name</author>
<namespace>S</namespace>
<entity name="Book" local-service="true" remote-service="true">
<!-- PK fields -->
<column name="fooId" type="long" primary="true" />
<!-- Audit fields -->
<column name="companyId" type="long" />
<column name="userId" type="long" />
<column name="bookName" type="String" />
<column name="author" type="String" />
</entity>
</service-builder>
在jsp中:
<%@ taglib uri="http://liferay.com/tld/aui" prefix="aui"%>
<%@ taglib uri="http://java.sun.com/portlet_2_0" prefix="portlet" %>
<portlet:actionURL var="addBURL" name="addB"/>
<aui:form method="post" action="<%=addBURL.toString()%>" name="fm"
id="fm">
<!-- <input type="text" name="bookName"/>
<input type="text" name="author"/> -->
<aui:input name="bookName" label="BookName" type="text"></aui:input>
<aui:input name="author" label="Author" type="text"></aui:input>
<aui:button type="submit" value="Submit" />
<!-- <input type="button" name="submit" value="Submit"> -->
</aui:form>
com.database.service.impl.BookLocalServiceImpl
package com.database.service.impl;
import com.database.model.Book;
import com.database.service.base.BookLocalServiceBaseImpl;
import com.liferay.portal.kernel.exception.SystemException;
public class BookLocalServiceImpl extends BookLocalServiceBaseImpl {
public Book aaddBook(Book bookParam) {
Book book;
try {
book = bookPersistence.create(counterLocalService
.increment(Book.class.toString()));
} catch (SystemException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return book = null;
}
book.setAuthor(bookParam.getAuthor());
book.setBookName(bookParam.getBookName());
book.setCompanyId(bookParam.getCompanyId());
book.setUserId(bookParam.getUserId());
try {
return bookPersistence.update(book, false);
} catch (SystemException e) {
e.printStackTrace();
}
return book;
}
}
com.portlet 演示课
package com.portlet;
import java.io.IOException;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletException;
import com.database.model.Book;
import com.database.model.impl.BookImpl;
import com.database.service.BookLocalServiceUtil;
import com.liferay.util.bridges.mvc.MVCPortlet;
public class Demo extends MVCPortlet{
public void addB(ActionRequest actionRequest,
ActionResponse actionResponse) throws IOException, PortletException {
System.out.println("Action");
String author=actionRequest.getParameter("author");
String bookName=actionRequest.getParameter("bookName");
Book book=new BookImpl();
book.setAuthor(author);
book.setBookName(bookName);
BookLocalServiceUtil.aaddBook(book);
}
}
关于java - 如何使用 liferay portlet 在数据库中插入数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15716377/
在今天的一次采访中,我提到我在 portlet 中做了一些 jsf 工作。面试官询问 portlet-bridge 的具体功能。我从来没有研究过它,只是使用它,因为我被告知它会使 jsf 在 port
我是 Portlet 应用程序开发的新手,我对 PortletContext 对象有一个疑问。如果在单个 Portlet 应用程序中配置了多个 Portlet,则每个 PortletApllicati
我正在尝试修复分配给自定义 portlet 管理器的日历 portlet 的月份导航。这个管理器是从一个特定的浏览器页面模板调用的: 不幸的是,经理没有为我呈现带有散列的包装器,因此我尝试手动将 k
使用 documentation在 plone.org 和论坛中的一些网站上,我能够在 Plone 4.0.8 中的内容下方获得一个自定义 portlet 管理器。实际上,目标是让 4 个自定义管理器
是否可以在一个 portlet 中创建几个 portlet?我的意思是多级 portlet。 最佳答案 是的。您可以使用 Nested Portlet为此目的。这是其他 portlet 的布局容器。您
当我在 tomcat 服务器上的 liferay 6.0.6 中一个接一个地部署两个 portlet 时,第二个部署的 portlet 正在取消部署第一个部署的 portlet,反之亦然: 堆栈跟踪:
我正在使用 Spring MVC Portlet 开发一个 portlet 并部署在 Liferay 中。我对这个 portlet 的意图是显示一个包含一些重要信息的树。为了实现这个目标,我需要请求服
所以我用谷歌搜索了一整天,得到的答案很少,但他们都失败了。更不用说所有的解决方案都 > 3 岁了。我正在使用 LR 6.1 CE。将不胜感激简单的工作示例,因为其他答案总是让我获得空值。 最佳答案 有
我正在使用portlet function of JQuery UI创建一个基本的门户页面。 JQuery UI 页面上的示例显示了一个非常简单的示例,其中包含 3 列和适合这些列的固定大小的 por
对于由 Liferay EE 6.0 SP1 提供支持的网站,有时某些页面需要“共享”某些 portlet 的同一实例,但其他页面将拥有自己的实例。 例如(人为设计,但希望能够说明问题),考虑一个带有
我是 Liferay portlet 的新手。谁能告诉我如何根据另一个 portlet 的事件显示或隐藏一个 portlet。我只想在ice:spaces 中编码,而不是任何其他方式。如果有人知道这个
父 portlet 有一个表单,我填写但尚未提交。 然后,我从这个父 portlet 中单击一个链接来打开一个弹出 portlet,在弹出窗口中填写表单并提交值。 该值现在应该在父 portlet 中
我有一个页面,其中包含一个 portlet(portlet A)和一个用于打开弹出窗口的按钮。 Liferay.Util.openWindow(..) 在弹出窗口中,我有另一个 portlet(por
我的问题是如何从一个 portlet 转到另一个。 我的场景是这样的: 用户可以查看特定 portlet 的 view.jsp。当他单击按钮时,页面将显示另一个 portlet 的 view.jsp。
例如,我有三个 portlet:portletA、portletB 和 portletC。 portletA 显示在左侧,它有两个链接 linkB 和 linkC。 如果我点击 linkB 然后 po
为什么我要在 tomcat 和 gwt 之上使用 java portlet?portlet 是否会减少或不需要我使用 jsp 和 jsf?Jboss 是否已成为 portlet 进化文化的一部分? J
我需要自定义哪个 portlet 出现在“添加更多 portlet 菜单”中,如下图所示: 我需要根据登录的用户或站点(社区)限制此菜单中显示的 portlet 数量。这样,站点所有者或站点管理员将能
我如何重新排序 portlet,以便继承的父 portlet 排在当前项的 portlet 之前? 最佳答案 Mathias 的解决方案似乎更简单;无论如何,如果您不想安装第三方产品,我想保留此文档。
在 Plone 4.1 中禁用站点范围内的 portlet 类型的最佳方法是什么?默认设置提供约 10 个 portlet 类型,但站点用户仅拥有少数几种用例(静态文本、新闻)。 最佳答案 Portl
我正在将最基本的 Portlet 部署到 Liferay: public class FirstPortlet extends GenericPortlet { @RenderMode(nam
我是一名优秀的程序员,十分优秀!