|
|
Java форум JavaTalks форум программистов
|
|
|
|
|
|
|
| Предыдущая тема :: Следующая тема |
| Автор |
Сообщение |
kez JavaTalks Chess Master 2008

Зарегистрирован: 06.09.2006 Сообщения: 952 Откуда: Санкт-Петербург
|
Добавлено: Июн 30, 2009 16:28 Заголовок сообщения: Spring: ResourceBundleViewResolver не находит property файл |
|
|
хочу воспользоваться апи весны для формирования pdf документа
за основу взял пример
в конфиге спринга создал контролер и вью
| Код: |
<!-- View Resolver for PDF -->
<bean id="pdfViewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="order" value="2" />
<property name="basename" value="views"/>
</bean> |
в <property name="basename" value="views"/>
views - это проперти-файл.
views.properties
| Код: |
innerDocumentPDFView.(class)=controller.InnerDocumentPDFView |
содержание проперти файла на данный момент не столь важно, поскольку файл не находится. файл лежит в корне проекта и копия в WEB-INF
в итоге имею
| Цитата: |
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.util.MissingResourceException: Can't find bundle for base name views, locale ru
java.util.MissingResourceException: Can't find bundle for base name views, locale ru |
_________________ Je pense, donc je suis |
|
| Вернуться к началу |
|
 |
ur6lad шкипер

Зарегистрирован: 25.06.2009 Сообщения: 621 Откуда: KN89DX
|
Добавлено: Июн 30, 2009 16:51 Заголовок сообщения: RE: Spring: ResourceBundleViewResolver не находит property ф |
|
|
Тут дело не в спринге. Ресурс ищется в classpath, куда WEB-INF 100% не входит. Надо или положить с WEB-INF/classes или каким-либо другим способом сделать файл доступным. _________________ чемпион 1970-го года по поиску в Google |
|
| Вернуться к началу |
|
 |
kez JavaTalks Chess Master 2008

Зарегистрирован: 06.09.2006 Сообщения: 952 Откуда: Санкт-Петербург
|
Добавлено: Июл 01, 2009 11:20 Заголовок сообщения: RE: Spring: ResourceBundleViewResolver не находит property ф |
|
|
Спасибо шкипер!
Было понятно, что дело не в спринге, но конкретной причины не мог найти. _________________ Je pense, donc je suis |
|
| Вернуться к началу |
|
 |
kez JavaTalks Chess Master 2008

Зарегистрирован: 06.09.2006 Сообщения: 952 Откуда: Санкт-Петербург
|
Добавлено: Июл 01, 2009 11:47 Заголовок сообщения: RE: Spring: ResourceBundleViewResolver не находит property ф |
|
|
файл то он теперь нашел, появилась следующая ситуация
| Цитата: |
| javax.servlet.ServletException: Could not resolve view with name 'view/jsp/show/editInnerDocument.jsp' in servlet with name 'action' |
и вот это возникает при обращении к любой JSP которая идет через DispatcherServlet. меняется только имя страницы.
action-servlet.xml
| Код: |
<?xml version="1.0" encoding="UTF-8"?>
<!--<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"-->
<!--"http://www.springframework.org/dtd/spring-beans.dtd">-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:jee="http://www.springframework.org/schema/jee"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd">
<!--mapping-->
<bean name="urlMapping"
class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
<property name="mappings">
<props>
<prop key="/editInnerDocument.do">innerDocumentController</prop>
<prop key="/editEventHandbook.do">eventHandbookController</prop>
<prop key="/pdfInnerDocument.do">reportController</prop>
</props>
</property>
</bean>
<!--Controllers-->
<bean name="innerDocumentController" class="controller.InnerDocumentController">
<property name="commandName" value="innerDocument"/>
<property name="commandClass" value="model.InnerDocument"/>
<property name="innerDocumentDetailsService" ref="innerDocumentService"/>
<property name="employeeDetailsService" ref="employeeService"/>
<property name="successView" value="ShowDocList.perform?docType=showInnerDocument"/>
<property name="formView" value="view/jsp/show/editInnerDocument.jsp"/>
</bean>
<bean name="eventHandbookController" class="controller.EventHandbookController">
<property name="commandName" value="eventHandbook"/>
<property name="commandClass" value="model.EventHandbook"/>
<property name="eventHandbookDetailsService" ref="eventHandbookService"/>
<property name="employeeDetailsService" ref="employeeService"/>
<property name="eventTypeDetailsService" ref="eventTypeService"/>
<property name="successView" value="ShowDocList.perform?docType=showEventHandbook"/>
<property name="formView" value="view/jsp/show/editEventHandbook.jsp"/>
</bean>
<bean id="reportController" class="controller.ReportController">
<property name="methodNameResolver">
<bean class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
<property name="mappings">
<props>
<prop key="/pdfInnerDocument.do">handlePdf
</prop>
</props>
</property>
</bean>
</property>
</bean>
<!-- View Resolver for PDF -->
<bean id="pdfViewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="basename" value="views"/>
</bean>
</beans> |
ReportController
| Код: |
public class ReportController extends MultiActionController {
private static final String PDF_VIEW = "innerDocumentPDFView";
private String pdfView = PDF_VIEW;
/** Creates a new instance of PbPDFController */
public ReportController() {
}
public void setPdfView(String view) {
this.pdfView = view;
}
/**
* Custom handler for innerDocument PDF document.
* @param request current HTTP request
* @param response current HTTP response
* @return a ModelAndView to render the response
*/
public ModelAndView handlePdf(HttpServletRequest request,
HttpServletResponse response) throws ServletException, Exception {
//получаем данные
return new ModelAndView(this.pdfView, "innerDocument", new Object());
}
} |
класс формирующий документ - InnerDocumentPDFView. на данный момент пустой.
| Код: |
public class InnerDocumentPDFView extends AbstractPdfView {
/** Creates a new instance of InnerDocumentPDFView */
public InnerDocumentPDFView() {
}
protected void buildPdfMetadata(Map model, Document document,
HttpServletRequest request) {
}
protected void buildPdfDocument(
Map model,
Document doc,
PdfWriter writer,
HttpServletRequest req,
HttpServletResponse resp)
throws Exception {
}
} |
проперти файл связывающий контролер с представлением - views.properties
| Код: |
innerDocumentPDFView.(class)=controller.InnerDocumentPDFView |
если из конфига убрать
| Код: |
<!-- View Resolver for PDF -->
<bean id="pdfViewResolver" class="org.springframework.web.servlet.view.ResourceBundleViewResolver">
<property name="basename" value="views"/>
</bean>
|
то при клике на ссылку pdfInnerDocument.do проходит до метода handlePdf ReportController`a и возвращает 404 т.к. не находит нужную вью.
вроде все сделано по аналогии с примером. не могу найти ошибку. _________________ Je pense, donc je suis |
|
| Вернуться к началу |
|
 |
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|