【发布时间】:2017-08-24 13:26:13
【问题描述】:
我有一个这样的托管 bean:
@ManagedBean
@ViewScoped
public class bean implements Serializable {
private List<Project> projectList = new ArrayList<Project>();
@PostConstruct
private void init() {
projectList = projectManager.getActiveProjects();
}
public void save() {
//save
}
}
问题是当我从 xhtml 页面调用 save 方法时。 我希望简单地进入保存方法并完成任务。可惜它只进入init方法,从不进入save。
看来问题出在 projectList 列表中。如果我不将项目保存在列表中,那么一切正常。
我在 web.xml 中也有这个配置
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>client</param-value>
如果我将值设置为 server 它将起作用,但我不知道我是否可以做到。 所以我的问题是:jsf managedbean 有最大尺寸吗?如果是,那么如果我需要存储“更大”的数组列表该怎么办?将 STATE_SAVING_METHOD 设置为 server 是一个好的解决方案吗?
【问题讨论】:
-
看来问题出在 projectList 列表中。如果我不将项目保存在列表中,那么一切正常。 但你为什么认为 length 是罪魁祸首。请创建minimal reproducible example 来演示问题(另请参阅stackoverflow.com/tags/jsf/info)。您的问题可能是xyproblem.info,甚至可能是在创建minimal reproducible example 的过程中,您找到了真正的原因。