次の 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');
次は 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 を指定すると、db からデータが入力された 4 つのテキスト フィールドが表示されることです。その後、更新ボタンをクリックすると (このボタンのコードは jsp ファイルに存在します)、URL は updateAction.action であり、次の行で null ポインター例外が発生します。
System.out.println(li.gett_Name());
誰かがこれを解決してください。私はほぼ6時間以上費やしました。ゲッターとセッターを自動生成し、すべてをリファクタリングしようとしました。しかし、それでも私は理解できませんでした。助けてください。