我在 JSF 2.0 中这样做。我已经使用相同的控制器实现了添加和查看页面。我不知道使用相同的控制器是否是最佳做法,是吗?在这个例子中,它对所有添加、编辑、查看使用单个页面,但我有不同的页面。因此,当从查看页面迁移到编辑页面时,我想保留价值,但我不能。如何在同一控制器中的不同页面之间保留价值?输出控制台显示编辑值从true更改为false,我在editLegendType函数中将其更改为 true。
@ManagedBean
@ViewScoped
public class LegendController implements Serializable {
LegendDTO legendDTO = new LegendDTO();
String selectedLegend;
boolean edit;
public LegendController() {
Logger.getLogger(LegendController.class.getName()).warning("The size of list" + edit);
if (!edit) {
legendDTO.getList().add(new Legend());
Logger.getLogger(LegendController.class.getName()).warning("The size of list" + legendDTO.getList().size());
}
}
//All function from here is to legend edit
public String editLegendType(LegendDTO dto) {
edit = true;
legendDTO = dto;
Logger.getLogger(LegendController.class.getName()).warning("The size of list" + edit);
return "addLegend";//from view page to addPage for edit.
}
}