【发布时间】:2011-05-19 16:28:48
【问题描述】:
目前我正在构建一个页面,用于输入我公司处理的不同产品的定价数据。定价数据有些复杂,因此根据输入新数据的项目需要不同的表格。现在我处理这个问题的策略是将页面拆分为多个表单,在输入有效数据时触发下一阶段的 AJAX 更新。每个表单都包含一个 ui:include 指向控制器 bean 上的一个方法,它返回一个指向 xhtml sn-p 的字符串,该字符串具有先前输入数据的适当表单结构。
<form id="stageOne"> Some content that triggers an ajax update of stageTwo </form>
<form id="stageTwo"> <ui:include src="#{controller.getStageTwo()"> </form>
以及backing bean方法:
public String getStageTwo() {
switch (stageOneContent) {
case 1: return "/context-root/snippetName.xhtml";
case 2: return "/context-root/snippetName2.xhtml";
}
}
我觉得这个解决方案有点不对劲,特别是让控制器方法负责了解调用页面可能使用的所有 xhtml sn-ps 的确切位置。我还是比较新的,感觉我可能会遗漏一些东西。有没有更好的方法来处理这种情况?
【问题讨论】: