2015-05-12 2 views
0

Я довольно новичок в Jhipster и angularjs, и я пытаюсь интегрировать движок Birt в приложение JHipster, используя базу данных, встроенную в H2.
Я нашел this page, который подробно описывает, как интегрировать механизм birt в приложении весны, но я не использую это для своего приложения.Интеграция Birt в приложении JHipster

Вот изменения, выполненные в проекте jhipster:

  • добавить зависимость к org.eclipse.birt.runtime в ПОМ
  • Создать классы автомобилей, CarServiceImpl, BirtView, BirtEngineFactory и BirtDataServiceConfiguration в суб -пакет, как описано в статье.
  • Я добавил класс BirtWebConfiguration в конфигурацию подпакета. Я удалил строку @ComponentScan, которая уже учтена в классе Application.
  • Я создал пустой отчет в SRC/главная/веб-приложение/отчеты/toto.rptdesign

Мои проблемы:

  • При обращении к приложению главной странице в «PageNotFound исключения» со следующим сообщение «Нет сопоставления для HTTP-запроса с URI [/] в DispatcherServlet с именем« dispatcherServlet ».
    Я предполагаю, что это связано с настройкой BirtWebConfiguration, которая, по-видимому, перезаписывает конфигурацию остального пути.
    Как определить новую конечную точку отдыха/отчеты?
  • При обращении к http://localhost:8080/reports страницу, исключение thymeleaf поднимается [ERROR] org.thymeleaf.TemplateEngine - [THYMELEAF][http-nio-127.0.0.1-8090-exec-5] Exception processing template "birtView": Error resolving template "birtView", template might not exist or might not be accessible by any of the configured Template Resolvers [ERROR] org.apache.catalina.core.ContainerBase.[Tomcat].[localhost].[/].[dispatcherServlet] - Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymeleaf.exceptions.TemplateInputException: Error resolving template "birtView", template might not exist or might not be accessible by any of the configured Template Resolvers] with root cause org.thymeleaf.exceptions.TemplateInputException: Error resolving template "birtView", template might not exist or might not be accessible by any of the configured Template Resolvers at org.thymeleaf.TemplateRepository.getTemplate(TemplateRepository.java:245) ~[thymeleaf-2.1.3.RELEASE.jar:na] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1104) ~[thymeleaf-2.1.3.RELEASE.jar:na] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1060) ~[thymeleaf-2.1.3.RELEASE.jar:na] at org.thymeleaf.TemplateEngine.process(TemplateEngine.java:1011) ~[thymeleaf-2.1.3.RELEASE.jar:na] at org.thymeleaf.spring4.view.ThymeleafView.renderFragment(ThymeleafView.java:335) ~[thymeleaf-spring4-2.1.3.RELEASE.jar:na] at org.thymeleaf.spring4.view.ThymeleafView.render(ThymeleafView.java:190) ~[thymeleaf-spring4-2.1.3.RELEASE.jar:na]

Спасибо за любую помощь.

+0

Я использовал ту же статью, чтобы интегрировать BIRT с JHipster, и она работала хорошо (за исключением, что URL является общедоступной и не интегрирована с безопасностью). В частности, можете ли вы описать проблему, с которой вы сталкиваетесь? –

+0

Привет, Рори. Я только что отредактировал свой вопрос, чтобы детализировать проблемы, с которыми я сталкиваюсь. – WhilyMs

ответ

0

Был ли создан компонент BirtView? Например, в конфигурации/LocaleConfiguration.java:

@Override 
public void addViewControllers(ViewControllerRegistry registry) { 
    registry.addViewController("/reports").setViewName("birtView"); 
} 

@Bean 
public BirtView birtView(){ 
    BirtView birtView = new BirtView(); 
    birtView.setDataSource(dataSource); 
    birtView.setAppContext(applicationContext); 
    birtView.setBirtEngine(this.engine().getObject()); 
    return birtView; 
} 
+0

Спасибо @Rori, он работает для меня сейчас. Моя проблема была в BirtWebConfiguration. Аннотации ComponentScan и EnableWebMvc должны быть удалены. Какая польза от установки applicationContext в BirtView? Я думал, что это уже сделано благодаря методу BirtEngineFactory.setApplicationContext(). – WhilyMs