关于的简单代码dataTable
。CentralFeed
是SessionScoped
Bean,PostComment
是RequestScoped Bean
<h:form id="table">
<h:dataTable value="#{CentralFeed.profileComments}" var="item">
<h:column>
<h:outputText value="#{item.comment}"/><br/>
<h:inputTextarea value="#{item.newComment}" rows="2"/><br/>
<h:commandButton value="Post" action="#{PostComment.postReply(item)}" />
</h:column>
</h:dataTable>
</h:form>
内 CentralFeed.java
private List<NewsFeed> profileComments = null;
public List<NewsFeed> getProfileComments() {
PhaseId currentPhaseId = FacesContext.getCurrentInstance().getCurrentPhaseId();
profileComments = scholarBean.findProfileCommentsByUserId(getSelectedUser().getId());
//model = new ListDataModel<NewsFeed>(profileComments);
return profileComments;
}
我的问题是getProfileComments()
被叫很多。currentPhaseId
会告诉我们该方法在什么阶段被调用。首次加载页面时,getProfileComment
请在阶段6-进行约
5次
呼叫RENDER_RESPONSE
。该页面上有一个inputTextarea
,因此我在其中键入一些内容,然后单击Post
(命令按钮)。然后在阶段1->
4期间再getProfileComment
呼叫 12次 。每个阶段调用此方法 3-4次 。然后,此属性的newComment
get
方法的setter方法(即setNewComment()get调用),getProfileComment
再次在处进行get调用phase 5
。然后postReply()
得到的呼叫,然后getProfileComment
再次获得呼吁其他 5次 在phase 6
。到底是怎么回事?应该这样吗?如果您getProfileComment
通过EJB
查看我的信息,scholarBean
我实际上是在查询数据库,因此不得不像这样查询20次这样的数据库是一个非常糟糕的主意。
是的,在请求期间可以多次调用getter。只要正确地完成其唯一工作即可:返回bean属性。但是,在您的示例中,您将直接使用getter方法加载列表!应该避免这种情况。模型的初始化/加载应该在bean的构造函数@PostConstruct
或任何基于事件的方法(如action方法)中进行。他们只被叫一次。吸气剂应仅返回模型数据,仅返回模型数据(除了一些琐碎的日志记录或延迟加载之外)。
问题内容: 我的活动课在这里: 和相机预览类在这里: 但是,当我测试该类时,似乎首先调用onResume(),然后在1或2秒后再次调用。因此,相机必须再次刷新。如果我根本没有onResume(),则摄像头预览稳定,但是如果我从主屏幕或其他某个应用再次切换到该应用,则会崩溃。我发现onPause()不会影响任何一个。我的代码正确吗?我应该添加/删除哪些内容以使其不会再次刷新并且在应用切换后仍然不会崩
我读在初始渲染时只被调用一次,但我看到它被渲染了多次。 似乎我创建了一个递归循环。 组件didMount调度动作来获取数据 一旦接收到数据,它就会触发成功操作,将数据存储在redux状态。 父反应组件连接到redux存储,并且具有mapStateToProps用于刚刚在上述步骤中更改的条目 父渲染子组件(通过变量编程选择) 子组件的组件didMount再次被调用 它消除了获取数据的操作 我想这就是
问题内容: 我正在使用Swift开发iOS通用应用程序,使用自动布局功能,并且仅支持纵向模式。 我发现打过多次。而是在启动MyApp时仅被调用一次。 为什么要多次调用?是否会按顺序对每个(,等)进行约束? 任何信息将不胜感激。 问题答案: 仅被调用一次:需要加载视图时。 ,但是,每个运行循环都会在已存在或已对其调用的任何视图上调用一次- 这包括每当将子视图添加到视图,滚动,调整大小等时。
我试图为BillingClient v.2.2.0和Kotlin协同程序编写一个包装: 正如您所见,当我试图查询购买或购买时,我确保客户已经准备好。但在生产中存在许多错误: 我试图了解问题的原因,得到了if将被多次调用。可能存在异常。我一直想知道这是怎么可能的,因为我每次调用都会创建新的侦听器?我无法在emulator或测试设备上重现此问题。有人能解释一下这里发生了什么,以及如何解决吗?
我正在尝试在像这样: 然后在我的它呈现: 我正在将我的fetch记录到控制台中,它被调用了三次。流程是我在登录页面上(加载时挂载一次),我登录,它将我重定向到自己呈现的主页。此时,我在控制台中看到: