java.lang.NullPointerException at com.thit.oa.action.MyProjProcessAction.addMyP
问题: 是突然出现的,也不知道动了那里。 查询功能可以,但新增不时出错,即没得到Form传过来的实体对象。java.lang.NullPointerException
at com.thit.oa.action.MyProjProcessAction.addMyProjProcess(MyProjProcessAction.java:81)
JSP:
<form action="addMyProjProcess.action" method="post">
<table width="100%" border="0" align="center" cellpadding="0"
cellSpacing="1">
<tr>
<td rowspan="2" align="center" class="AddGoods_Left">
客 户:
</td>
<td class="AddGoods_Right">
<input name="projProcess.customName" type="text"
id="ClassName" style="width: 200px;" />
</td>
</tr>
<tr>
<td class="AddGoods_Right_Text">
请输入项目对应的 客户
</td>
</tr>
<tr>
<td rowspan="2" align="center" class="AddGoods_Left">
机 型:
</td>
<td class="AddGoods_Right">
<input name="projProcess.model" type="text" id="ClassName"
style="width: 200px;" />
</td>
</tr>
<tr>
<td class="AddGoods_Right_Text">
请输入项目对应的 机型
</td>
</tr>
<tr>
<td rowspan="2" align="center" class="AddGoods_Left">
商 务:
</td>
<td class="AddGoods_Right">
<input name="projProcess.businessName" type="text"
id="ClassName" style="width: 200px;" />
</td>
</tr>
<tr>
<td class="AddGoods_Right_Text">
请输入项目对应的 商务负责人
</td>
</tr>
<tr>
<td rowspan="2" align="center" class="AddGoods_Left">
状态描述:
</td>
<td class="AddGoods_Right">
<textarea name="projProcess.stateDesc" cols="30" rows="5"></textarea>
</td>
</tr>
<tr>
<td class="AddGoods_Right_Text">
请输入项目状态情 况
</td>
</tr>
<tr>
<td rowspan="2" align="center" class="AddGoods_Left">
需求描述:
</td>
<td class="AddGoods_Right">
<textarea name="projProcess.needsDesc" cols="30" rows="5"></textarea>
</td>
</tr>
<tr>
<td class="AddGoods_Right_Text">
请输入项目需求
</td>
</tr>
<tr>
<td rowspan="2" align="center" class="AddGoods_Left">
计划完成时间:
</td>
<td class="AddGoods_Right">
<input size="20" name="projProcess.planCompleteDate" />
</td>
</tr>
<tr>
<td class="AddGoods_Right_Text">
请输入计划完成时间
</td>
</tr>
<tr>
<td rowspan="2" align="center" class="AddGoods_Left">
更新时间:
</td>
<td class="AddGoods_Right">
<input size="20" name="projProcess.planUpdateDate" type="text" />
</td>
</tr>
<tr>
<td class="AddGoods_Right_Text">
请输入项目更新的计划完成时间
</td>
</tr>
<TR>
</TR>
<tr>
<td class="AddGoods_Left">
</td>
<td class="AddGoods_Right">
<input type="submit" name="AddClasss" value="添加项目" onclick=""
id="AddClasss" class="C_input02" />
<INPUT type="button" class="C_input"
onClick="javascript:location.href('queryAllByUser.action')"
value="返回列表"/>
</td>
</tr>
</table>
</form>
ACTION:
private HttpServletRequest request;
private ProjProcess projProcess;
public HttpServletRequest getRequest() {
return request;
}
public void setRequest(HttpServletRequest request) {
this.request = request;
}
private ProjProcessBizDao projProcessBizDao;
private OperateLogBizDao operateLogBizDao;
public OperateLogBizDao getOperateLogBizDao() {
return operateLogBizDao;
}
public void setOperateLogBizDao(OperateLogBizDao operateLogBizDao) {
this.operateLogBizDao = operateLogBizDao;
}
// 所有的项目
public String quryAllMyProjProcess() {
UserInfo userInfo = (UserInfo) request.getSession()
.getAttribute("user");
List<ProjProcess> list = null;
try {
list = projProcessBizDao.queryAllByUser(userInfo);
request.getSession().setAttribute("allMyProjProcesssByUser", list);
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
// 所有的项目
public String queryAllByUser() {
UserInfo userInfo = (UserInfo) request.getSession()
.getAttribute("user");
List<ProjProcess> list = null;
try {
list = projProcessBizDao.queryAllByUser(userInfo);
request.getSession().setAttribute("allMyProjProcesssByUser", list);
} catch (Exception e) {
e.printStackTrace();
}
return SUCCESS;
}
// 增加项目
public String addMyProjProcess() {
UserInfo userInfo = (UserInfo) request.getSession()
.getAttribute("user");
try {
System.out.println(this.projProcess.getBusinessName() + " "
+ this.projProcess.getCustomName());
String createTime = new Date().toLocaleString();
// String a= createTime.substring(0, 8);
// System.out.println(a);
this.projProcess.setCreateTime(createTime);
this.projProcess.setUserInfo(userInfo);
// this.projProcess.setBusinessName(businessName);
} catch (Exception e) {
e.printStackTrace();
}
OperateLog operateLog = new OperateLog();
try {
operateLog.setObjectId("" + userInfo.getUserName());
operateLog.setOperateName("增加");
operateLog.setOperateTime(new Date().toLocaleString());
operateLog.setUserInfo(userInfo);
projProcessBizDao.insert(this.projProcess);
operateLog.setOperateDesc("增加项目成功");
} catch (Exception e) {
e.printStackTrace();
operateLog.setOperateDesc("增加项目失败");
} finally {
try {
operateLogBizDao.insert(operateLog);
} catch (Exception e) {
e.printStackTrace();
}
}
return SUCCESS;
}
配置:
<!-- ***************** 项目 ***************** -->
<!-- 所有的项目 -->
<action name="quryAllMyProjProcess" class="quryAllMyProjProcessAction" method="quryAllMyProjProcess">
<result type="redirect">/MyProjProcess.jsp</result>
</action>
<!-- 某用户的项目 -->
<action name="queryAllByUser" class="queryAllByUserAction" method="queryAllByUser">
<result type="redirect">/MyProjProcess.jsp</result>
</action>
<!-- 增加 项目-->
<action name="addMyProjProcess" class="addMyProjProcessAction" method="addMyProjProcess">
<result type="redirect">/queryAllByUser.action</result>
</action>
<!-- 删除 项目-->
<action name="deleteMyProjProcessById" class="deleteMyProjProcessByIdAction" method="deleteMyProjProcessById">
<result type="redirect">/queryAllByUser.action</result>
</action>
<!-- 确定修改项目 -->
<action name="updateMyProjProcessConfrim" class="updateMyProjProcessConfrimAction" method="updateMyProjProcessConfrim">
<result type="redirect">/queryAllByUser.action</result>
</action>
补充:Java , Web 开发