我在JSF 2.0中這樣做。我用相同的控制器實現了添加和查看頁面。我不知道是否最好使用相同的控制器,是嗎?如在this示例中,它使用單頁進行所有添加,編輯,查看,但我有不同的頁面。所以當從視圖頁面遷移到編輯頁面時,我想保留價值,但我不能。如何保持同一控制器中不同頁面之間的值?輸出控制檯顯示的編輯變化值從真正到假我改爲true editLegendType功能。JSF單一控制器和不同視圖,編輯,更新頁面
@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.
}
}
import javax.enterprise.context.Conversation; import javax.enterprise.context.ConversationScoped; import javax.inject.Inject; import javax.inject.Named;如果我需要做更多的事情,這些軟件包不可用。我正在使用tomcat 7. – kinkajou 2012-08-08 14:23:21
@Kitex已將CDI-on-tomcat detials添加到答案中 – kostja 2012-08-08 14:37:40