Model view controller 从ASP.NET代码转换到MVC,有很多问题

Model view controller 从ASP.NET代码转换到MVC,有很多问题,model-view-controller,playframework,Model View Controller,Playframework,如何在游戏中动态呈现HTML?例如,我有一个enum或DB表,其中有一个平台列表(pc/xbox/ps3)。我想在我的HTML表单中呈现一个复选框列表,其中包含每一个复选框。目前,我只是用元素硬编码了HTML表单,但从长远来看,它需要是动态的,列表(复选框/单选框/下拉列表)需要绑定到系统,以便在新项目添加到数据库时接收新项目 回发时,如何访问处理回发的控制器中的表单字段?我发现,在控制器操作的函数参数列表中,我可以指定表单字段的名称,这是可行的,但是如果我要有100个字段的表单,那么我不想在控

如何在游戏中动态呈现HTML?例如,我有一个enum或DB表,其中有一个平台列表(pc/xbox/ps3)。我想在我的HTML表单中呈现一个复选框列表,其中包含每一个复选框。目前,我只是用元素硬编码了HTML表单,但从长远来看,它需要是动态的,列表(复选框/单选框/下拉列表)需要绑定到系统,以便在新项目添加到数据库时接收新项目

  • 回发时,如何访问处理回发的控制器中的表单字段?我发现,在控制器操作的函数参数列表中,我可以指定表单字段的名称,这是可行的,但是如果我要有100个字段的表单,那么我不想在控制器操作函数中声明100个参数,这是不现实的

  • 您可以对枚举调用方法
    values()
    ,以获取枚举值数组。然后将其映射到列表。例如,您可以使用google collections中的
    Lists.newArrayList(array)

  • 可以在
    request.params
    hashmap中找到表单参数。请求是从play.mvc.Controller继承的字段

  • 也看看这个。(有用但不容易找到的东西)

    UPD

    列出列表=
    render(列表)

    在模板中(选择的示例):

    
    #{列表项:列表,如:'listItem'}
    ${listItem.getName()}
    #{/list}
    
    是的,我已经在play framework.org上完成了所有的教程,并阅读了他们的文档,但我仍然在将我的ASP.NET代码转换为MVC时遇到问题。然后我如何让该列表在我的页面上显示为HTML复选框列表?我将查看request.params,这听起来非常适合我的需要。哇,我完全用错了play。谢谢你的代码,这比我要做的要优雅得多。非常感谢。因此,这对于呈现它来说是很好的,但是有没有一种奇特的方法可以在回发时对列表进行水合处理,或者这都是一个手动检查request.params hashmap的过程?我如何判断“checked==true”?如果没有特别的方法,我很乐意在表单post中查找复选框名称,空值表示未选中的复选框。但在.NET中,这很好,因为我可以返回所有复选框的状态,无论是否选中,并且有一个“.checked”属性。有没有类似的功能?奇怪的是,我发现如果我有一个html元素,比如一组复选框,它们都有相同的名称,(name=“chkFavoriteNumbers”),那么当使用request.params.get(“chkFavoriteNumbers”)时,即使选中了多个复选框,它也只返回第一个选中的复选框。但是,如果我使用request.params.all(),它返回一个正确的hashmap,则每个entryset的值都是一个字符串[],然后返回所有选中的项。所以我使用字符串[]mycheckedboxs=request.params.all().get(“chkFavoriteNumbers”);
    <select id="viewSelect" size="1" >
      #{list items:theList, as:'listItem'}
       <option id="${listItem.getId()}">${listItem.getName()}</option>
      #{/list}
    </select>