在表中输入的playframework
我们有一个列表,我们将其输出到要呈现的页面中,还有一个表,它逐行显示每个票据在表中输入的playframework,playframework,Playframework,我们有一个列表,我们将其输出到要呈现的页面中,还有一个表,它逐行显示每个票据 <tbody> #{list reqs, as:'req'} <tr> <td>#{req.ticketNumber}</td> <td> <input type="text" class="boxtpl" name="${req.name}" value="${req.points
<tbody>
#{list reqs, as:'req'}
<tr>
<td>#{req.ticketNumber}</td>
<td>
<input type="text" class="boxtpl" name="${req.name}" value="${req.points}" maxlength="4">
</td>
<td style="text-align: left;">#{req.name}</td>
<td>#{req.subproject.name}</td>
<td>#{req.assignedUser.firstName} #{req.assignedUser.lastName}</td>
</tr>
#{/list}
</tbody>
#{列出需求,如:'req'}
#{req.ticketNumber}
#{req.name}
#{req.subproject.name}
#{req.assignedUser.firstName}{req.assignedUser.lastName}
#{/list}
因此,显然呈现是最简单的部分……我们如何进行发布部分,以便用用户键入的内容填充req.points?似乎我们必须做一些复杂的事情,比如使用req.name或其他什么,我甚至不确定这是否可行。有人举过如何在playframework中从表发布表单的例子吗
谢谢,
迪恩我想我做了一些与你所寻找的类似的事情。这是一个简化版本,允许编辑和发布实体列表:
#{form id:'targetsForm', method:'POST', action:@saveTargets()}
<table>
<thead>
<tr>
<th>January</th>
</tr>
</thead>
<tbody>
%{int i = 0; String fieldName = null;}%
#{list items:targets, as:'target'}
<tr>
%{ fieldName = "targets[${i}].id" }%
#{field "${fieldName}"}
<input type="hidden" name="${field.name}" value="${targets[i].id}"/>
#{/field}
%{ fieldName = "targets[${i}].year" }%
#{field "${fieldName}"}
<input type="hidden" name="${field.name}" value="${year}"/>
#{/field}
<td class="center">${target.branch?.code}</td>
%{ fieldName = "targets[${i}].jan" }%
#{field "${fieldName}"}
<td class="center">
<input type="number" name="${field.name}" value="${targets[i].jan}"/>
</td>
#{/field}
</tr>
%{i++;}%
#{/list}
</tbody>
</table>
<input type="submit" name="_save" id="save-targets" value="Save""/>
#{/form}
#{表单id:'targetsForm',方法:'POST',操作:@saveTargets()}
一月
%{int i=0;字符串fieldName=null;}%
#{列出项目:目标,如:'target'}
%{fieldName=“targets[${i}].id“}%
#{field“${fieldName}”
#{/field}
%{fieldName=“targets[${i}]。年份“}%
#{field“${fieldName}”
#{/field}
${target.branch?.code}
%{fieldName=“targets[${i}].jan”}%
#{field“${fieldName}”
#{/field}
%{i++;}%
#{/list}
我想我做了一些和你想做的相似的事情。这是一个简化版本,允许编辑和发布实体列表:
#{form id:'targetsForm', method:'POST', action:@saveTargets()}
<table>
<thead>
<tr>
<th>January</th>
</tr>
</thead>
<tbody>
%{int i = 0; String fieldName = null;}%
#{list items:targets, as:'target'}
<tr>
%{ fieldName = "targets[${i}].id" }%
#{field "${fieldName}"}
<input type="hidden" name="${field.name}" value="${targets[i].id}"/>
#{/field}
%{ fieldName = "targets[${i}].year" }%
#{field "${fieldName}"}
<input type="hidden" name="${field.name}" value="${year}"/>
#{/field}
<td class="center">${target.branch?.code}</td>
%{ fieldName = "targets[${i}].jan" }%
#{field "${fieldName}"}
<td class="center">
<input type="number" name="${field.name}" value="${targets[i].jan}"/>
</td>
#{/field}
</tr>
%{i++;}%
#{/list}
</tbody>
</table>
<input type="submit" name="_save" id="save-targets" value="Save""/>
#{/form}
#{表单id:'targetsForm',方法:'POST',操作:@saveTargets()}
一月
%{int i=0;字符串fieldName=null;}%
#{列出项目:目标,如:'target'}
%{fieldName=“targets[${i}].id“}%
#{field“${fieldName}”
#{/field}
%{fieldName=“targets[${i}]。年份“}%
#{field“${fieldName}”
#{/field}
${target.branch?.code}
%{fieldName=“targets[${i}].jan”}%
#{field“${fieldName}”
#{/field}
%{i++;}%
#{/list}
您可以使用列表标记的索引变量为您的姓名编制索引
<input type="text" class="boxtpl" name="req[${req_index-1}].name" value="${req.points}" />
然后你回到你的控制器中,得到一个列表
小心,play会对JPA对象进行一些合并操作,如果您有一些嵌套对象,您可能会遇到一些问题您可以使用列表标记的索引变量为您的姓名编制索引
<input type="text" class="boxtpl" name="req[${req_index-1}].name" value="${req.points}" />
然后你回到你的控制器中,得到一个列表
小心,play会与JPA对象进行一些合并,如果您有一些嵌套对象,则可能会出现一些问题