大家好,我用SSH开发。程序流程是接收一个id,根据这个id从t_page 表里查询出一条记录,然后把这条记录的某些字段赋给另外一个表(metadata_record)相对应的几个字段,再插入到另外一个表中。Action代码如下,
public String docu2oai() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
String docu[] =request.getParameterValues("ifpub");
for(int i=0;i<docu.length;i++)
{
availableItems = tpageService.queryItems(TPage.class, "id", "docuid", docu[i], "equals", 1, 0);
if(availableItems.size()>0)
{
Iterator it = availableItems.iterator();
TPage tp = new TPage(); //建立实例
Metadata_record mdr = new Metadata_record(); //建立实例 while(it.hasNext())
{
tp =(TPage)it.next();
//赋值
mdr.setTitle(tp.getDocutitle());
mdr.setCreator(tp.getDocuauthors());
mdr.setSubject(tp.getDucusubject());
mdr.setDescription(tp.getDocuabstract());
mdr.setPublisher(tp.getDocupublisher());
mdr.setDate(tp.getDocupublishdate());
mdr.setType(tp.getDocutype());
mdr.setFormat(tp.getDocuformat());
mdr.setLanguage(tp.getDoculanguage());
mdr.setDocuid(tp.getDocuid());
metadatarecordService.save(mdr);
}
}
}
return SUCCESS;
}
错误提示出在这里
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
meetings.ssh.generic.GenericServiceImpl.save(GenericServiceImpl.java:85)
meetings.ssh.action.TpageAction.docu2oai(TpageAction.java:368)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)368行就是metadatarecordService.save(mdr); 说找不到指针相关的SSH配置文件都配置好了,而且也import相关的service了,麻烦帮看看,分不多。谢谢了!
public String docu2oai() throws Exception {
HttpServletRequest request = ServletActionContext.getRequest();
String docu[] =request.getParameterValues("ifpub");
for(int i=0;i<docu.length;i++)
{
availableItems = tpageService.queryItems(TPage.class, "id", "docuid", docu[i], "equals", 1, 0);
if(availableItems.size()>0)
{
Iterator it = availableItems.iterator();
TPage tp = new TPage(); //建立实例
Metadata_record mdr = new Metadata_record(); //建立实例 while(it.hasNext())
{
tp =(TPage)it.next();
//赋值
mdr.setTitle(tp.getDocutitle());
mdr.setCreator(tp.getDocuauthors());
mdr.setSubject(tp.getDucusubject());
mdr.setDescription(tp.getDocuabstract());
mdr.setPublisher(tp.getDocupublisher());
mdr.setDate(tp.getDocupublishdate());
mdr.setType(tp.getDocutype());
mdr.setFormat(tp.getDocuformat());
mdr.setLanguage(tp.getDoculanguage());
mdr.setDocuid(tp.getDocuid());
metadatarecordService.save(mdr);
}
}
}
return SUCCESS;
}
错误提示出在这里
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
meetings.ssh.generic.GenericServiceImpl.save(GenericServiceImpl.java:85)
meetings.ssh.action.TpageAction.docu2oai(TpageAction.java:368)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)368行就是metadatarecordService.save(mdr); 说找不到指针相关的SSH配置文件都配置好了,而且也import相关的service了,麻烦帮看看,分不多。谢谢了!
这样的遍历是不能完成的,应为你的类型都不一样,这样肯定是错误的,所以你的统一你的数据类型
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
java.lang.NullPointerException
meetings.ssh.generic.GenericServiceImpl.save(GenericServiceImpl.java:85)
meetings.ssh.action.www.163xyx.comTpageAction.docu2oai(TpageAction.java:368)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)有点看不懂。。
导致 metadatarecordService.save()方法报空指针异常。检查metadatarecordService 是否注入成功。