我的模型中有一个TreeSet<Rule>
,它包含规则及其层次级别 - 根据要求,需要用户可以重新排序。规则具有以下模型:
public class Rule {
int id;
int level;
String desc;
}
我试图尽可能地从模型中抽象出视图,以避免用户错误。作为我的傻瓜,我认为允许用户拖放规则以重新排列它们是“整洁的” - 这就是为什么我正在考虑使用JQuery的Sortable元素。
在我看来,我会显示可以由用户重新排序的行。然后我会从规则中更新级别值。我的问题是:一旦用户点击“更新”按钮,我需要更新每个规则的级别值。
表格:
class RulesForm extends ActionForm {
private TreeSet<Rule> rules;
private int[] reorderedIds;
// Getters and Setters
}
查看:
<script>
$(function() {
$( "#sortable tr" ).sortable();
$( "#sortable tr" ).disableSelection();
});
</script>
<html:form action="/rules?method=update">
<table>
<c:forEach items="rule" var="rules">
<tr class="sortable"><td id="${rule.id}">
<bean:write name="rule" property="desc" />
</td></tr>
</c:forEach>
</table>
<html:submit value="Update"/>
1)如何更新每个规则的级别?我正在考虑:
[1,4,3]
)并实现逻辑以重新排序我的TreeSet; 2)一旦我改变了行位置,我怎样才能在表单中检索它们?