【问题标题】:How to make it "MVC" when generating html dropdown list based on database data基于数据库数据生成html下拉列表时如何使其成为“MVC”
【发布时间】:2014-05-21 02:44:39
【问题描述】:

我是JSP的初学者,我正在尝试开发一个小型MVC项目,对于登录页面,它很容易使用MVC,例如login.jsp-->LoginServlet.java--->用户Bean.java。

但是,登录后,我有一个 Main.jsp 页面,上面有几个 html 元素,其中一个元素是下拉列表,项目来自数据库,我看到人们使用以下代码执行此操作在jsp里面,但这不是那么“MVC”,对吧?没有“C”,所以,我很想知道这种情况下的最佳实践是什么?谢谢!

<%
database stuff...
while(resultset.next()){
 %>
  <option value="<%=rs.getString("DEPT_NO")%>"><%=rs.getString("DEPT_NAME")%></option>  
  <% }

【问题讨论】:

  • “模型-视图-控制器”是虚构的,在实践中从未真正实现过。

标签: jsp servlets model-view-controller


【解决方案1】:

要使用 MVC 模式填充下拉列表,

  1. LoginServlet中从数据库中获取数据。
  2. 当您使用 MVC 模式时,可以使用 DAO 类从数据库中检索数据。您还应该让 bean 类将值作为 对象 传递。
  3. 最后,将对象(e.g ArrayList)设置为请求属性并转发到main.jsp

所以您将在请求中拥有对象,现在使用jstl 使用forEach 标签将其显示在下拉框中,

            <c:forEach var="temp" items="${list}">                    
                    <c:out value="${temp}"></c:out>                    
            </c:forEach>

看到这个How to avoid Java code in JSP files?

希望这会有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-05
    • 1970-01-01
    • 1970-01-01
    • 2021-04-16
    • 1970-01-01
    • 2021-07-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多