0

以下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 并重构所有内容。但我还是想不通。请帮帮我。

4

1 回答 1

1

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

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

您可能需要在调用之前调用它listsitedetails.get..

于 2012-10-20T04:54:43.640 回答