我们有一个 Struts 2 Web 应用程序,几乎每个员工都使用它来管理和配置我们的服务器场的作业。我们正在制定一项为客户制作仪表板的计划,这样他们就可以看到自己的工作,并非常简单地显示其状态(“进行中”、“准备打样”、“完成”等)。客户可以看到的所有页面的信息都将比员工的视图少得多,并且无法编辑或更改任何内容。但归根结底,它们本质上是相同信息的两种不同视图:一种非常简单,一种更复杂且可控。
天真的方法是在每个 jsp 中都有 if/else:
<s:if test="user.role == 'customer'">
<!-- TODO - Display simple customer view -->
</s:if>
<s:else>
<!-- TODO - Display complex employee view -->
</s:else>
有没有更简单的方法来做到这一点?我可以创建两个单独的 jsps 目录,一个名为“customer”,一个名为“employee”(或默认值或其他),然后让 Struts 在我的操作中关闭属性以决定检查哪个目录?
还是有其他方法可以做到这一点?