从ASP.NET代码转换到Play MVC并且有很多问题

时间:2011-11-30 18:07:31

标签: model-view-controller playframework

  1. 如何在Play中动态呈现HTML?例如,我有一个包含平台列表的枚举或数据库表(pc / xbox / ps3)。我想在我的HTML表单中呈现每个复选框列表。现在我只是用元素硬编码HTML表单,但是长期它需要是动态的,并且列表(复选框/无线电/下拉列表)需要绑定到系统,以便在添加新项目时接收新项目数据库。

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

1 个答案:

答案 0 :(得分:2)

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

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

  3. 另请查看此http://www.playframework.org/documentation/1.2.3/cheatsheet/controllers。 (有用的东西,但不容易找到)

    UPD

    List theList =....;
    render(theList);

    并在模板中(选择的例子):

    <select id="viewSelect" size="1" >
      #{list items:theList, as:'listItem'}
       <option id="${listItem.getId()}">${listItem.getName()}</option>
      #{/list}
    </select>