- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
package com.atlanticpkg.view.beans;
import com.atlanticpkg.controller.ejb.ContactsFacade;
import com.atlanticpkg.model.entities.Contacts;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.PostConstruct;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
@Named(value = "contactsBean")
@SessionScoped
public class ContactsBean implements Serializable {
@EJB
ContactsFacade contactsEJB;
private List<Contacts> contacts = new ArrayList<Contacts>();
private int page = 0;
private int contactsRecords;
private boolean previousDisabled = false;
private int firstItem = 0;
private int batchSize = 5;
public ContactsBean() {
}
@PostConstruct
public void onLoad() {
contactsRecords = contactsEJB.count();
updateContactsList();
}
public void updateContactsList() {
if (firstItem <= 0) {
previousDisabled = true;
}
if (firstItem > 0) {
previousDisabled = false;
}
contacts = contactsEJB.findRange(firstItem, batchSize);
}
public void next() {
if (firstItem + batchSize < contactsRecords) {
firstItem += batchSize;
}
updateContactsList();
}
public void previous() {
if (firstItem > 0) {
firstItem -= batchSize;
}
updateContactsList();
}
/**
* @return the contacts
*/
public List<Contacts> getContacts() {
return contacts;
}
/**
* @param contacts the contacts to set
*/
public void setContacts(List<Contacts> contacts) {
this.contacts = contacts;
}
/**
* @return the contactsRecords
*/
public int getContactsRecords() {
return contactsRecords;
}
/**
* @param contactsRecords the contactsRecords to set
*/
public void setContactsRecords(int contactsRecords) {
this.contactsRecords = contactsRecords;
}
/**
* @return the page
*/
public int getPage() {
return page;
}
/**
* @return the previousDisabled
*/
public boolean isPreviousDisabled() {
return previousDisabled;
}
/**
* @param previousDisabled the previousDisabled to set
*/
public void setPreviousDisabled(boolean previousDisabled) {
this.previousDisabled = previousDisabled;
}
/**
* @return the firstItem
*/
public int getFirstItem() {
return firstItem;
}
/**
* @param firstItem the firstItem to set
*/
public void setFirstItem(int firstItem) {
this.firstItem = firstItem;
}
/**
* @return the batchSize
*/
public int getBatchSize() {
return batchSize;
}
/**
* @param batchSize the batchSize to set
*/
public void setBatchSize(int batchSize) {
this.batchSize = batchSize;
}
}
index.xhtml
<h:form>
<h:panelGroup id="contactsPanel">
<h:dataTable id="contactsTable" value="#{contactsBean.contacts}" var="contacts">
<h:column>
<f:facet name="header">
<h:outputText value="Name"/>
</f:facet>
<h:outputText value="#{contacts.name}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Street"/>
</f:facet>
<h:outputText value="#{contacts.street}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="City"/>
</f:facet>
<h:outputText value="#{contacts.city}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="State"/>
</f:facet>
<h:outputText value="#{contacts.state}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Zip"/>
</f:facet>
<h:outputText value="#{contacts.zip}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Country"/>
</f:facet>
<h:outputText value="#{contacts.country}"/>
</h:column>
<h:column>
<f:facet name="header">
<h:outputText value="Sent?"/>
</f:facet>
<h:selectBooleanCheckbox value="#{contacts.sent}" />
</h:column>
</h:dataTable>
<h:outputText value="#{contactsBean.contactsRecords}" />
<h:commandLink disabled="#{contactsBean.previousDisabled}" value="< previous" action="#{contactsBean.previous}">
<f:ajax execute="@form" render="contactsPanel"/>
</h:commandLink>
<h:commandLink value="next >" action="#{contactsBean.next}">
<f:ajax execute="@form" render="contactsPanel"/>
</h:commandLink>
</h:panelGroup>
</h:form>
我不确定为什么这不起作用。从技术上讲,页面没有刷新,所以我应该可以使用请求范围吧?谢谢。
最佳答案
ViewScoped 可能更合适,请参阅 Balusc 的文章:http://balusc.blogspot.com/2010/06/benefits-and-pitfalls-of-viewscoped.html
关于java - 为什么此 ajax 操作不适用于 requestScope?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4959037/
我乞求使用primefaces,在remoteCommand的这段代码中,我看到#{requestScope.shouldRender},我很困惑 我见
这个问题在这里已经有了答案: Backing beans (@ManagedBean) or CDI Beans (@Named)? (5 个答案) 关闭 4 年前。 我注意到我可以通过使用来自 @
在 JSF2 中,如何将对象从一个请求范围的 bean 传递到另一个请求范围的 bean?我真的不想让它们成为 session 范围的。 也许我可以将一个 bean 注入(inject)另一个? 谢谢
假设我们有一个类: @RequestScoped public class FooService { private NonThreadSafeGenerator generator = n
我正在使用带分页功能的 PrimeFaces 和 Datatable。我有一个支持 bean 的请求范围,当我浏览数据表时,数据消失了(没有任何内容可显示)。我以为数据表只是 Ajax 检索整个数据列
我正在使用 guice-servlet (2.0) 在每个 HTTP 请求开始时注入(inject)一个数据库连接,但是我怎样才能知道请求何时结束以便关闭连接? web.xml Guice
我正在学习使用 JAX-RS 进行一些 Restful api 开发,但我的资源类存在问题。 我的理解是我的资源类应该是 RequestScoped,但是,当它是 RequestScoped 时,我对
在 JSTL 中,您可以在组件中设置变量,这些变量可用于同一请求中的所有其他组件。在 AEM 中使用 sightly 是否有等效的方法在组件之间传递数据? (我们正在研究的用例是我们希望一个组件知道何
我有一个带有 List 属性的 @RequestScoped bean。 import javax.faces.bean.ManagedBean; import javax.faces.bean.Re
编辑4 我想做的是实现forgotPassword页面。例如,我采用了下面的示例,这不是真正的用户相关问题,我将用户名保留在 session 范围内。 index.xhtml将是忘记密码页面,我将在其
我正在开发一个用 @RequestScope 注释的 Service 类,问题是有一个方法需要很长时间才能继续,我想知道是否可以在该部分的哪一部分创建新线程代码将被执行。 我尝试过使用 Managed
我正在尝试创建一个日志服务来存储两个变量,我将在 http 请求的生命周期中使用它们。问题是我无法更改字段。我尝试了 setter 、初始化方法,我可以在调试器中看到值的变化,但在退出方法后,字段为空
这是我在这个美丽的网站上的第一个问题。我用谷歌搜索了很多,但没有找到任何解决方案。 我是 JSF 的新手,正在通过 Kent Ka lok Tong 的“JSF 2 API 和 JBoss Seam”
我的目标是呈现一个具有创建、检索和更新功能的 jsf 页面。我决定为每个操作创建不同的 CDI bean 和不同的复合组件,然后将它们全部放在页面中。 到目前为止一切顺利,但我刚刚完成,我发现了一个非
如果我创建一个用 @RequestScoped 注释的 bean,我希望它会为每个新请求实例化一个新的代理实例。 另一方面,每个请求都与它自己的线程相关联。 我的问题是:如果新请求重用池中先前创建的线
我写了一个 ViewScoped Managed-Bean,每次我在我的网络浏览器中刷新页面时,Managed-Bean 似乎被重新创建,文章为空,它加载一个新的文章对象等等。对我来说,它看起来与 R
package com.atlanticpkg.view.beans; import com.atlanticpkg.controller.ejb.ContactsFacade; import com
我有一个 JSF 页面并有一个与其关联的 Managedbean。 我的 xhtml 页面如下所示:
我观察到下面描述的我的 requestScoped bean 在单个请求期间被创建了多次。每次重新实例化 bean 时,正如日志所说,就在不久之前,bean 被销毁了。 @ManagedBean(na
我的 JEE 6 应用程序正在使用 CDI 以及带有嵌入式 tomee (1.7.2) 的 Arquillian 对其进行测试。在具有多个测试方法的测试类中,同一个 Request Scoped Be
我是一名优秀的程序员,十分优秀!