请帮忙解决这个空指针异常。这个项目涉及struts2,jsp,java和struts.xml

时间:2012-10-20 03:11:13

标签: java xml jsp struts

以下jsp显示来自相应数据库的4个文本字段

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts2-jquery-tags"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p>This is for fun</p>


<s:form action="eAction" name="eSites">
    <s:textfield value="%{l.Name}" label="Name" id="name" ></s:textfield>
    <s:textfield value="%{l.plan}" label="t Plan" id="plan" ></s:textfield>

</s:form>

<s:form action="updateAction" name="eSite">

<button onclick="output()">Update</button>
<script>
function output(){
         eSite.submit();    
    }
</script>
</s:form>


</body>
</html>

以下是数据库:

INSERT INTO engagement(PId, S_Id, P_Name, Pa_Plan, Pa_Method, PDate) 
    VALUES(2, 1, 'erferef', 'ergregre', 'egregref', '2012-9-19');

Followign是struts.xml代码。

    <action name="eAction"   class="com.fr.actions.EEngagement">
        <result name ="resultedfunc">/jsp/EParentEngagement.jsp</result> 
    </action>

    <action name="updateAction" class="com.fr.actions.EEngagement" method="update">
        <result name ="UPDATE">/jsp/Engagement.jsp</result>
    </action>

出现的问题是,当我提供xxx.eAction时,我可以看到4个文本字段,其中包含从db填充的数据。之后,如果我单击更新按钮(此按钮的代码存在于jsp文件中),则url为updateAction.action,并且我在以下行中获得空指针异常。

        System.out.println(li.gett_Name());

有人可以解决这个问题。我花了将近6个多小时。我尝试过自动生成getter和setter并重构一切。但我还是想不通。请帮帮我。

1 个答案:

答案 0 :(得分:1)

在更新方法中看起来缺少以下操作

EditParentEngagementDAO editParentEngagementDAO = new EditParentEngagementDAO();
listSiteDetails = editParentEngagementDAO.aSiteIdDetails(getParentengid());

您可能需要在致电listsitedetails.get..

之前调用此方法
相关问题