我正在为此编写一个自定义控制器application。你可以在/ ssf/samples/customcontroller下找到一个例子。对于我的自定义控制器,我使用了也被kablink项目使用的Spring-Framework。现在我尝试通过getSimpleJdbcTemplate().queryForObject(query, String.class, new MapSqlParameterSource());
执行一个sql脚本(my.sql)。该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"));
我得到未发现异常堆栈跟踪文件。
请提供更多信息和更多的代码,以便我们可以帮助您。 –
请参阅我的编辑。 – StellaMaris