问题陈述:
每个报告都有多个任务。报告任务显示在表中每个任务都有不同的选项(A,B,D,E,X)这些选项在表列中显示为超链接
对于不同的角色和任务状态,显示的选项将不同。
即(状态s1和角色r1)将显示选项A和B
我可以知道应该如何设计以允许视图每次显示不同的选项吗?
我的初步设计:
具有用于存储此选项与键的哈希图,并使用选项填充TaskModel
我可以知道是否有更好的解决方案,可以使用哪种设计模式?
我将为ReportTask
实例创建一个包装器类,以处理上下文相关的选项处理。
包装器可能看起来像:
class StatusRoleContextReportTaskWrapper {
private ReportTask;
public StatusRoleContextReportTaskWrapper(ReportTask task) { ... }
public Option[] getOptions() { /* return options based on role and status */ }
public static StatusRoleContextReportTaskWrapper[] getWrapped(ReportTask[] tasks) {
/* wrap tasks ... */
return wrappedTasks;
}
}
这是一个示例控制器方法。
public String reportTaskList(ModelMap model) {
ReportTask[] tasks = reportTaskService.getSome();
model.add("reportTasks", StatusRoleContextReportTaskWrapper.getWrapped(tasks));
return "taskListView";
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句