在gwt中读取xls文件
我正在寻找使用gwt RPC读取xls文件,当我使用的代码在正常文件中表现出色时,它无法加载该文件并给我空指针异常 下面是代码 { { 我通过以下代码在客户端程序中调用它:在gwt中读取xls文件,gwt,Gwt,我正在寻找使用gwt RPC读取xls文件,当我使用的代码在正常文件中表现出色时,它无法加载该文件并给我空指针异常 下面是代码 { { 我通过以下代码在客户端程序中调用它: final AsyncCallback<String> callback1 = new AsyncCallback<String>() { public void onSuccess(String result) { RootPanel.get(
final AsyncCallback<String> callback1 = new AsyncCallback<String>() {
public void onSuccess(String result) {
RootPanel.get().add(new Label("In success"));
if(result==null)
{
RootPanel.get().add(new Label("result is null"));
}
RootPanel.get().add(new Label("result is"+result));
}
public void onFailure(Throwable caught) {
RootPanel.get().add(new Label("In Failure"+caught));
}
};
try{
getService().getNumberOfColumns(callback1);
}catch(Exception e){}
final AsyncCallback callback1=new AsyncCallback(){
成功时的公共void(字符串结果){
RootPanel.get().add(新标签(“成功”);
如果(结果==null)
{
RootPanel.get().add(新标签(“结果为空”);
}
RootPanel.get().add(新标签(“结果是”+result));
}
失败时的公共无效(可丢弃){
RootPanel.get().add(新标签(“失败中”+catch));
}
};
试一试{
getService().getNumberOfColumns(回调1);
}捕获(例外e){}
}
请告诉我如何解决这个问题,因为代码在正常java文件中运行时运行良好。为什么使用系统类加载器,而不是正常的类加载器 但是,如果你还想用的话,看看这个 当您像web应用程序一样使用时。在这种情况下,您需要使用
ClassLoader
,其获得方式如下:
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
这个类可以访问绑定到相关Web应用程序的所有类路径,您不再依赖于哪个父类加载器(一个Web应用程序有多个!)加载了您的类
然后,在此类加载器上,您只需调用getResourceAsStream()以获取类路径资源作为流,而不是getSystemResourceAsStream(),后者取决于Web应用程序的启动方式。您不希望依赖于此,因为您在外部主机上无法控制它:
InputStream input = classLoader.getResourceAsStream("filename.extension");
文件的位置应该在类路径中
InputStream input = classLoader.getResourceAsStream("filename.extension");