我读到我可以使用CountryLocalService、@Reference等。?这个代码可以吗?我可以看到我的portlet是活动的,但它并没有显示在示例小部件中。能否提供代码,以便使用CountryLocalService调用getCountriesCount()?
@Component(
immediate = true,
property = {
"com.liferay.portlet.display-category=category.sample",
"com.liferay.portlet.instanceable=true",
"javax.portlet.init-param.template-path=/",
"javax.portlet.init-param.view-template=/view.jsp",
"javax.portlet.name=" + DemoPortletKeys.Demo,
"javax.portlet.resource-bundle=content.Language",
"javax.portlet.security-role-ref=power-user,user"
},
service = Portlet.class
)
public class DemoPortlet extends MVCPortlet {
private CountryLocalService countryLocalService;
@Override
public void doView(RenderRequest renderRequest, RenderResponse renderResponse)
throws IOException, PortletException {
// TODO Auto-generated method stub
System.out.println("********" + getCountryLocalService().getCountriesCount() + " ********************");
super.doView(renderRequest, renderResponse);
}
public CountryLocalService getCountryLocalService() {
return countryLocalService;
}
@Reference(unbind = "-")
public void setCountryLocalService(CountryLocalService countryLocalService) {
this.countryLocalService = countryLocalService;
}
}
您没有指定使用的Liferay的确切版本,很明显它是7.0或7.1。在当前的代码库中,我没有看到任何CountryLocalService,但有一个com。liferay。门户网站。内核服务CountryService。
下面的代码(与您的代码几乎相同)适用于我在Liferay DXP 7.0上部署的portlet,出现在示例类别中,并且是从Liferay Developer Studio中的mvc portlet模板开始创建的。我编辑过的唯一文件就是这里显示的文件。
package com.example.country.portlet.portlet;
import com.example.country.portlet.constants.CountryPortletKeys;
import com.liferay.portal.kernel.portlet.bridges.mvc.MVCPortlet;
import com.liferay.portal.kernel.service.CountryService;
import java.io.IOException;
import javax.portlet.Portlet;
import javax.portlet.PortletException;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import org.osgi.service.component.annotations.Component;
import org.osgi.service.component.annotations.Reference;
@Component(
immediate = true,
property = {
"com.liferay.portlet.display-category=category.sample",
"com.liferay.portlet.instanceable=true",
"javax.portlet.display-name=countryportlet Portlet",
"javax.portlet.init-param.template-path=/",
"javax.portlet.init-param.view-template=/view.jsp",
"javax.portlet.name=" + CountryPortletKeys.Country,
"javax.portlet.resource-bundle=content.Language",
"javax.portlet.security-role-ref=power-user,user"
},
service = Portlet.class
)
public class CountryPortlet extends MVCPortlet {
private CountryService countryService;
@Override
public void doView(RenderRequest renderRequest, RenderResponse renderResponse)
throws IOException, PortletException {
System.out.println("************* " + countryService.getCountries().size() + " ***************");
super.doView(renderRequest, renderResponse);
}
@Reference
public void setCountryService(CountryService cs) {
this.countryService = cs;
}
}
首先,我对Liferay非常陌生,即使在阅读了这些文档之后,我可能也不知道自己在做什么。 我正在尝试在Liferay portlet中设置一个自定义jsp页面。我的jsp结构如下: 这些都放在我的portlet视图中。然而,我在我的portlet中看不到任何显示。我的所有源代码和映射都是正确的,但似乎我只能在portlet中显示常规文本。 我正在使用Liferay插件SDK和Eclipse的最新版
我使用Liferay portlet bundle 6.2(Tomcat)和Liferay IDE(eclipse)。我创建了两个Liferay插件项目。在第一个portlet(第一个插件portlet)中,我使用portlet首选项保存了一些数据。现在,我将在第一个portlet中显示第二个portlet。我怎么能做到?我找到了下面的代码和这个链接 从其他portlet打开portlet 但是,
有没有办法为我在控制面板中创建的组织创建portlet? 肯定是这样的 我创建了组织层次结构,并使每件事都成为用户角色...等等 这可以通过钩子或什么来完成,请帮帮我?! 这个我已经试过了
我正在尝试允许Liferay的管理员配置Portlet。我已经创建了配置页面和配置操作。 问题是:我可以保存配置并且portlet正确使用此配置,但是当我在配置中再次输入时,我无法获取此值。 somePreferenceKey_cfg是空的。 有人知道我能做什么吗?谢谢,伊万。
我想问你一个问题。我使用Liferay 6.2。我有一个自定义portlet,它嵌入在我的自定义主题中 下面是Liferay portlet的一些设置。xml 在portlet控制器呈现方法中,我设置了portlet首选项(我想使我的portlet无边界) 但当我检查Liferay和我的自定义嵌入portlet边框时,会发现。但PORTLETPREFERENCE表有一行,下面是首选项,ID根据li
有人能指出Liferay 6.2版中使用Hooks的“如何自定义日历portlet”吗? 问题是,日历jsp文件没有显示在liferay-hook.xml配置文件中的Customizable jsp列表中。 我想做的就是在Liferay门户6.2中的现有日历portlet中添加一些新按钮、更改标签并添加一些新操作。 有人能让我知道这必须一步一步地完成吗?