2016-04-28 2 views
0

Я пишу пользовательский контроллер для этого application. вы можете найти образец под/ssf/samples/customcontroller. Для моего настраиваемого контроллера я использую Spring-Framework, который также используется проектом kablink. Теперь я пытаюсь выполнить sql-скрипт (my.sql) через getSimpleJdbcTemplate().queryForObject(query, String.class, new MapSqlParameterSource());. Файл sql содержит только одну строку select label from question where questionid=3;Не удалось прочитать файл Весна

Но я сталкиваюсь с трудностями, читая файл my.sql. В контроллере я вызываю метод graph.sunburstJson() и нажать возвращаемое значение мнение:

ApplicationContext context = new ClassPathXmlApplicationContext("/resources/spring/config/GraphBean.xml"); 
     GraphDao graph = (GraphDao) context.getBean("graphDao"); 
response.setRenderParameter("json", graph.sunburstJson()); 

Чтобы увидеть, если метод sunburstJson читает файл я пытаюсь вернуть содержание my.sql:

public class GraphDaoImpl extends SimpleJdbcDaoSupport implements GraphDao{ 

    @Override 
    public String sunburstJson() { 
     String query="select label from question where questionid=5"; 

     try { 
      InputStream is = getClass().getResourceAsStream("/resources/spring/sql/my.sql"); 
      BufferedReader reader = new BufferedReader(new InputStreamReader(is)); 
      LineNumberReader fileReader = new LineNumberReader(reader); 
      query = JdbcTestUtils.readScript(fileReader); 
     } catch (IOException e) { 
      StringWriter errors = new StringWriter(); 
      e.printStackTrace(new PrintWriter(errors)); 
      query=errors.toString()+"help"; 
     } 
     return query+"test";//(String)getSimpleJdbcTemplate().queryForObject(query, String.class, new MapSqlParameterSource()); 

    } 
} 

Но он не возвращает ошибки и не выводит, я не могу объяснить, что произошло. Это начинается с строки JdbcTestUtils.readScript. Такое же поведение с

EncodedResource resource = new EncodedResource(context.getResource("/resources/spring/sql/my.sql"), "UTF-8"); 

Если я пытаюсь

BufferedReader reader = new BufferedReader(new FileReader(new File("resources/spring/sql/my.sql"))); 
//or 
BufferedReader reader = new BufferedReader(new FileReader("/resources/spring/sql/my.sql")); 

Я получаю файл не найден исключение StackTrace.

+0

Просьба предоставить дополнительную информацию и больше кода, чтобы мы могли вам помочь. –

+0

См. Мои правки. – StellaMaris

ответ

0

Я добавляю новую версию проекта library в проект, теперь он работает правильно.

Смежные вопросы