- Создано рабочее пространство
- Создан построитель сервисов и добавлена сущность
- Создан демонстрационный портлет
- Я пытаюсь получить данные из БД и system.out в методе doView в DemoPortlet.
- Когда я использую CountryLocalServiceUtil (CountryLocalServiceUtil.getCountriesCount()) - ОШИБКА [http-bio-8080-exec-10][render_portlet_jsp:132] null
Я читал, что могу использовать CountryLocalService, @Reference и т. д.? Этот код подходит? Я вижу, что мой портлет активен, но он не отображается в виджете Sample. Можете ли вы предоставить код для вызова getCountriesCount() с помощью CountryLocalService?
@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;
}
}
CountryLocalServiceUtil
, а в вашем коде нет. Пожалуйста, уточните (например, похоже, что ошибка возникает в JSP, а не в этом коде). Кроме того, вы помечаете тегами liferay-6, liferay-7, tomcat — только один из них имеет смысл, я оставлю вам поиск соответствующего тега. И наконец, я озадачен вашей запутанностью, чтобы установитьCountryLocalService
в методе с именемsetFooLocalService
, но это только косметический вопрос. - person Olaf Kock   schedule 29.08.2018