bang老师 这个问题弄两天了 请帮我解答一下可以吗

10-11-22 tianhandigeng
我想用一个xml文件来控制我页面菜单的显示,我用jdom来读xml文件,我的xml文件放在classes目录下,我是这样读的

Resource resource=new ClassPathResource("menus.xml");

File file=resource.getFile();

Document doc=builder.build(file);

这里用了Spring的工具类,这样我可以读到数据,但是当手动修改xml文件后,不启动服务器,读取不到修改的值,如果是用代码更新xml文件也不能,但是如果我将这里的路径定义成绝对的,也就是

Resource resource=new ClassPathResource("menus.xml");

File file=resource.getFile();

File file2=new File(file.getAbsolutePath());

Document doc=builder.build(file2);

这样创建的话就可以,也就是说一定要用绝对路径才用作用,我想问一下这到底是怎么回事,是否跟xml文件的缓存有关系,如果是那应该怎样解决?

banq
2010-11-23 09:36
相当路径一般在classes目录下,这个目录Web服务器一般都认为俄只读,因此缓存的。

如果你有修改,可以将文件放在web-inf目录下,或者将XML放在数据表,这两种做法在jive2.5和JiveJdon中都有实现,主要用来对帖子输出显示的插件控制,比如HTML输出格式 等。

tianhandigeng
2010-11-25 01:46
谢谢了 bang老师

猜你喜欢