我正在寻找一个示例,它有一些很好的模式来做一个组合框....在playframework中选择html元素并帮助在post中的帖子很好,它自动将它转换为实体的id我想....我可以在下拉菜单中以某种方式存储id,以便在选中时,我可以将id和标签提供给服务器吗?
这方面的任何例子都很棒!!!!或指向具有良好模式的博客链接。
感谢, 迪安
答案 0 :(得分:1)
使用select标记。
来自酒店样本申请表:
#{select 'booking.beds', value:booking?.beds}
#{option 1}One king-size bed#{/option}
#{option 2}Two double beds#{/option}
#{option 3}Three beds#{/option}
#{/select}
答案 1 :(得分:0)
我找到了答案。代码如下,其中id作为值(猜测我需要刷新我的基本html ....以前的java框架让你远离基础:()。
<select name="parent" size="1">
#{list items:projects, as:'project'}
<option value="${project.id}">${project.name}</option>
#{/list}
</select>
好的,一个更好的例子可能就是这个,所以你不必担心在正确的选项栏中设置selected="selected"
...
#{select 'parentId', items:projects, valueProperty:'id', labelProperty:'name', value:project?.parent?.id/}
parentId是传递给action post方法的变量名。 items是从get到render中传递的变量。价值道具是您实体的财产。这个值是每个项目的选项值的设置,以及什么得到你的parentId变量的内容.....这对我来说现在都很有用......很好。
注意:labelProperty不能是xxx.xxx.xxx
。它必须是一级财产。和值是您想要读取或写入的内容(您传入页面的不同实体可能比列表本身更多)。在上面的例子中,我传递了项目,我也传入了一个项目,所以项目是项目,值是project.parent.id。