我正在为应用程序编写一系列网页向导。一个向导长达 30 页。有 4 种不同类型的用户。根据用户的类型,他们可能会在表单的每个页面中看到不同的静态文本,或者他们可能会在表单上看到不同的字段。那是 4 个用户类型 X 30 个页面 = 120 个网页。4 个向导 UI 中有 85% 是相同的。不同页面和不同用户类型的差异有所不同,所以我不可能有 25 个通用向导页面,并且每个用户类型有 5 个唯一页面。
我正在尝试编写代码,以免 30 页重复 4 次。我正在使用 grails 模板,因此我只有 30 个页面可以根据用户类型提取差异。我的一个想法是利用 grails 中内置的国际化功能。例如,如果我有一个角色为 Role_Finance 的用户,他们的向导将从 messages.properties 中提取要显示的文本。如果我有一个角色为 Role_Contractor 的用户,我可以为他们分配不同的语言环境(西班牙语),以便向导从 messages_es.properties 中提取不同的文本。
虽然我意识到这不是 grails 国际化的意图,但这似乎是一个干净的解决方案。这不是一个国际应用程序,所以我不担心失去该功能。以前有人必须做这样的事情并找到更好的解决方案吗?