2016-04-28 12 views
0

これはapplicationのカスタムコントローラを作成しています。/ssf/samples/customcontrollerの下にサンプルがあります。私のカスタムコントローラーの場合は、kablinkプロジェクトでも使用されているSpring-Frameworkを使用します。今私はgetSimpleJdbcTemplate().queryForObject(query, String.class, new MapSqlParameterSource());経由でSQLスクリプト(my.sql)を実行しようとしています。 SQLファイルには1行しか含まれていませんselect label from question where questionid=3;ファイルを読み込めませんでした。

しかし、私はファイルmy.sqlを読んで問題に遭遇します。コントローラでは、私は、メソッドgraph.sunburstJson()を呼び出し、ビューに戻り値をプッシュする:

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()); 

    } 
} 

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

は方法sunburstJsonがファイルを読み込む場合、私はmy.sqlの内容を返すようにしてみてください表示するには

しかし、エラーも出力もないので、何が起こったのか説明できません。これは、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")); 

をしようとした場合、私は、例外スタックトレースを発見していないファイルを取得します。

+0

私たちがお手伝いできるように、より多くの情報とコードを提供してください。 –

+0

私の編集内容をご覧ください。 – StellaMaris

答えて

0

libraryの新しいバージョンをプロジェクトに追加すると、正しく動作します。

関連する問題