public class PicDB {
public int id;
public TypeDB typedb;
public String oldPicName;
public String serverPicName;
public String newPicName;
//省略set/get........
}
-----------------------------------------------------------------
jsp:
<s:form action="fileUpload" method="POST" namespace="/admin" enctype="multipart/form-data">
<s:select label="请选择分类" id="typedb.id" name="typedb.id" list="typeList" listKey="id" listValue="text"></s:select>
<s:file name="myFile" label="请选择图片" />
<s:textfield id="picdb.newPicName" name="picdb.newPicName" label="图片名称" />
<s:submit />
</s:form>action:
public class FileUploadAction extends ActionSupport {
//private static final long serialVersionUID = 572146812454l;
public PicDAO picDao;
public TypeDAO typeDao;
public PicDB picdb;
public TypeDB typedb;
private File myFile;
//省略set/get
public String uploadimg() {
System.out.println("uploadimg");//这句能打印出来,证明进入这个方法了
System.out.println(picdb.getNewPicName());//走到这句时出错,错误信息如下
return SUCCESS;
}
}error:
java.lang.NullPointerException
com.zjm.cctw66.upload.web.action.FileUploadAction.uploadimg(FileUploadAction.java:105)
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)如果直接写<s:textfield name="newPicName",action里直接定义变量newPicName,这样就正常
但是<s:textfield name="picdb.newPicName"这样用就报错
public int id;
public TypeDB typedb;
public String oldPicName;
public String serverPicName;
public String newPicName;
//省略set/get........
}
-----------------------------------------------------------------
jsp:
<s:form action="fileUpload" method="POST" namespace="/admin" enctype="multipart/form-data">
<s:select label="请选择分类" id="typedb.id" name="typedb.id" list="typeList" listKey="id" listValue="text"></s:select>
<s:file name="myFile" label="请选择图片" />
<s:textfield id="picdb.newPicName" name="picdb.newPicName" label="图片名称" />
<s:submit />
</s:form>action:
public class FileUploadAction extends ActionSupport {
//private static final long serialVersionUID = 572146812454l;
public PicDAO picDao;
public TypeDAO typeDao;
public PicDB picdb;
public TypeDB typedb;
private File myFile;
//省略set/get
public String uploadimg() {
System.out.println("uploadimg");//这句能打印出来,证明进入这个方法了
System.out.println(picdb.getNewPicName());//走到这句时出错,错误信息如下
return SUCCESS;
}
}error:
java.lang.NullPointerException
com.zjm.cctw66.upload.web.action.FileUploadAction.uploadimg(FileUploadAction.java:105)
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)如果直接写<s:textfield name="newPicName",action里直接定义变量newPicName,这样就正常
但是<s:textfield name="picdb.newPicName"这样用就报错
解决方案 »
- 用户修改信息后,其他页面用户信息怎么自动改变成修改后的内容
- DatagramPacket 报文过长时,本地可以接受,网络收不到数据。
- 这个ant为什么只能执行到init就提示向下执行了
- java.lang.OutOfMemoryError: Java heap space
- com.ibm.CORBA.iiop.ORB 在那个包里面?
- 数据提交时出现这么一个问题,怎么解决?
- 数据库中取中文
- MDA, MVC, mof, Mix都是什么意思啊??(可能有拼错)
- 求教wml中用post方式传递参数乱码问题
- web logic 7.0环境变量设置的问题!
- 介绍几本关于电子商务系统的书
- 请教一个问题,如何把一个新闻里的图片和文字统一按照字节流存进数据库?
picdb = new PicDB();
这行是105行吧?说明你转到action之前,你的picdb对象的 newPicName是null。picdb对象的 getter 和setter 你都写了没?
这个不对吧,应该是picdb为null最好使用请求转发到你的jsp,在对应的Action中
picdb = new PicDB(); 这个一般没必要,struts2的parameters拦截器,遇到picdb.xxx的时候会自己创建PicDB对象。
看不出来,你看看是否有getPicdb和setPicdb方法。