JSPを実践するためのオンライン図書注文システムのダミープロジェクトを作成しようとしています。その中でMVCをフォローしようとしています。
定義上、MVCでは、モデルを変更してもView/Controllerを変更する必要はありません。
モデルでは、Customerクラス(顧客属性とそのゲッターセッターを持つ)とCustomerCollectionクラス(顧客データに対してCRUDを実行する)を作成しました。
Controllerには、CustomerCollectionを呼び出し、Customerデータにアクセスし、要求の属性として顧客のリストを追加するControllerサーブレットがあります。
ビューでは、コントローラーによって追加されたカストエマーのリストにアクセスし、次のようにページに表示するJSPがあります。
<table id="customerTable">
<tr id="customerTableHeaderRow">
<th>Id</th>
<th>First name</th>
<th>Last name</th>
<th>Address</th>
<th>Phone number</th>
<th>Gender</th>
</tr>
<%
for(Customer customer: customers)
{
%>
<tr class="customerTableRow">
<td><%= customer.getId() %></td>
<td><%= customer.getFirstName() %></td>
<td><%= customer.getLastName() %></td>
<td><%= customer.getAddress() %></td>
<td><%= customer.getPhoneNumber() %></td>
<td><%= customer.getGender() %></td>
</tr>
<%
}
%>
</table>
ただし、customersテーブルに列を追加するなど、データベースに変更を加える場合は、その列のコンテンツも表示するようにforループを変更する必要があると思います。これは適切ではありません。
では、ここで何が問題になっていますか?間違っていますか?または、同じことを行うための標準的な方法はありますか?