解决方案 »
- JList中如何实现鼠标拖动,交换2个元素的值
- jxl操作excel的一些问题
- struts.xml中配置url的参数
- tomcat 在不连接互联网的时候,启动的时候总出现这个错误。
- attempt to create delete event with null entity?
- 如何获取Request的所有字符?应用于filter.
- 如何改变field级别的错误信息的颜色显示
- 报错Exception in thread "Timer-2" java.lang.NullPointerException
- java可否使用共享内存?
- 用Jbuilder建一个EJB应用的网站怎么建目录结构?
- 这个问题困惑好久了!怎么解决?
- web工程中数据更新的问题
action负责控制逻辑,建议楼主把这些读取exel的代码放到业务逻辑层,在action中再调用读取方法。
使用相对路径的不是很好弄,像access,excel这些文件的读取,我都是提取出工作目录中class文件的路径,
再拼出要读取文件的路径。
把我的代码提供给楼主参考下吧,楼主看合适不合适
public String getClassPath(){
String path=当前类的名称.class.getClassLoader().getResource("").toString()
.replace("file:/", "").replace("/","\\");
try {
path= URLDecoder.decode(path,"UTF-8");
} catch (UnsupportedEncodingException e) {
System.out.println(" Get classPath failed.");
e.printStackTrace();
}
return path;
}
比如我在myeclipse下的一个web项目的src目录下有个a.xls,则其路径为getClassPath()+a.xls
public String getClassPath(){
String path="";
try {
path=new File(getClass().getClassLoader().getResource("").toURI()).getPath();
}catch (URISyntaxException ex) {
}
return path;
}
然后
String filePath = bdb.getClassPath()+ "\\moia44-batchjob.xls";
这样就得到了当前机器上的一个文件路径。
最后报错那个问题昨天写在类文件里面就对了,不能写在ACTION里面。