我正在尝试创建一个在线图书订购系统的虚拟项目来练习 JSP。我试图在其中遵循 MVC。
根据定义,在 MVC 中,模型中的任何更改都必须不需要视图/控制器中的任何更改。
在模型中,我创建了 Customer 类(具有客户属性及其 getter-setter)和 CustomerCollection 类(对客户数据执行 CRUD)
在 Controller 中,我有一个 Controller servlet,它调用 CustomerCollection、访问客户数据并将客户列表添加为请求的属性。
在视图中,我有 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>
但是现在我相信,当我对数据库进行任何更改时,例如向客户表中添加任何列,我必须修改 for 循环以显示该列的内容,这也不好。
那么这里有什么问题呢?做错了吗?还是有任何标准方法可以做到这一点?