Tag: jsf

Java EE WebApp + icefaces中的长时间运行任务

我对Java EE知之甚少,但目前正在学习它。 我想出了一个涉及用户调用的长时间运行任务(最多几分钟)的项目。 该任务包括几个步骤。 当然我想向用户展示进度。 该项目使用Java EE与JPA,JSF和Icefaces。 它运行在Glassfish上。 一位经验丰富的同事向我提出了以下模式: 创建一个无状态的异步EJB,它创建一个响应对象并处理请求 在每个步骤后保留响应对象 在辅助bean中,查询并显示响应对象 这很好用。 我唯一的问题是更新状态站点以镜像进度。 目前,我每隔x秒就会重新加载一个简单的JavaScript页面。 你知道一种方式/模式来反映从无状态ejb到jsf支持bean的当前步骤吗? 或者,我更喜欢这样,你知道一种每隔x秒查询一次支持bean值的方法吗? 编辑: 我知道Icefaces推送机制,但我希望状态更新站点与计算EJB分离,原因如下: 可能已经销毁了支持bean,因为用户离开了站点并稍后返回以获取结果 一个用户可能存在多个会话,因此可能存在多个bean 设计简洁

JSF – 带参数的调用方法(tomcat6)

我正在尝试在tomcat6上运行我的项目(通常在tomcat7上运行)。 但JSF现在无法调用带参数的方法,例如 它在Tomcat7上正常工作.. 是否可以在tomcat6上调用带参数的方法? 更新:以下两个答案都是正确的,我还必须更新context.xml : org.apache.myfaces.EXPRESSION_FACTORY com.sun.el.ExpressionFactoryImpl com.sun.faces.expressionFactory com.sun.el.ExpressionFactoryImpl

从db 获取的messages.properties

可能重复: 有关多语言支持的Java EE实体的设计问题 我正在研究JSF应用程序的i18n。 我需要从数据库中获取通常位于messages.properties中的所有标准jsf消息。 有一些简单的方法吗? 谢谢。

JSF-2应用程序中的服务器端计时器

在我正在研究的JSF-2应用程序中,我需要在用户执行操作时启动服务器端Timer。 此计时器必须与应用程序本身相关,因此它必须在用户会话关闭时继续存在。 为了解决这个问题,我想使用java.util.Timer类来实例化Application scoped bean中的timer对象。 这是一个很好的解决方案吗? 还有其他更好的方法来实现这个目标吗? 谢谢

将参数传递给ViewScoped Bean

我将把一个参数从一个页面(Facelet)传递给一个范围为View Scope的Managed Bean。 我尝试这样做: import javax.faces.bean.ManagedBean; import javax.faces.bean.ViewScoped; @ManagedBean @ViewScoped public class Mybean { private int id; public int getId() { return id; } public void setId(int id) { this.id = id; } } 第一页: 第二页: param value #{param.id} bean value #{mybean.id} 但它没有显示20

JSF(和PrimeFaces)如何将参数传递给ManagedBean中的方法

我有一个我在inputtext中显示的Employee对象。 例如,员工的名字显示在inputtext中。 当这个名字的值改变时,它调用一个方法。 在此之前,我想调用一个方法,该方法将员工的ID保存在managedbean中,以便我知道哪个员工需要更改。 我怎么做到这一点,到目前为止我得到了这个: 我想我应该使用onValueChangedStart或firstNameChanged方法传递ID。 我该怎么做呢? 或者有更好的方法吗? emp有一个吸气剂。 所以#{emp} .id得到它。

我应该在PrettyFaces中使用f:event或action元素吗?

目前我正在使用以下代码: public void init() { question = questionBean.findQuestion(questionParamId); } 这由以下内容调用: 所以URL是: http : //www.mycompany.com/show.xhtml?id = 8 现在我已经开始使用PrettyFaces了,我已经看到了URL-mapping元素中的元素,我想知道我是否可以编写#{questionShowBackingBean.init} ? 如果是这样我应该删除元数据元素,或者我应该使用它,因为它可能在将来使用PrettyFaces? 最后, action元素中的调用发生在哪里? 它发生在我现在的听众面前吗?

方法上的Beanvalidation

public class Register { @NotNull private String password; @NotNull private String passwordRepeat; @AssertTrue private boolean comparePasswords() { return password.equals(passwordRepeat); } private Set<ConstraintViolation> violations; public void doRegister(AjaxBehaviorEvent event) { Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); violations = validator.validate(this); if(violations.isEmpty()) { // This occurs } } } 如果我的密码都不为空,我的validation将通过,但它们是不同的。 似乎最后的约束似乎不会被考虑在内,尽管我不知道为什么。 有没有人有建议? 不,我不是在寻找@Matches或simular自定义validation器的任何实现。 我只想解决这个问题。 提前致谢。 更新1 我已经对此进行了一些测试,希望结果将提供所需的信息。 Bean.java @Named @RequestScoped public […]

关于将spring bean注入jsf bean的问题

将spring bean注入jsf bean时遇到问题,导致javax.faces.FacesException(无法实例化类),javax.faces.el.E​​valuationException 这是我的xml文件: 文件WEB-INF / components.xml定义了spring bean 文件WEB-INF / faces-config.xml定义了jsf bean Video Home Bean videoBean rambo.tool.VideoBean session videoService videoService #{Components[“rambo.api.VideoService”]} 文件videoMain.jsp: 在resourceToolExists中:videoBean使用videoService的一些方法 得到:javax.faces.FacesException(无法实例化类rambo.impl.VideoServiceImpl),javax.faces.el.E​​valuationException

@Named的行为与@ManagedBean不同

我目前正在将一个项目从JBoss 4.2.2迁移到JBoss 6.0.0,我还在使用CDI添加dependency injection,并从JSF 1.2迁移到JSF 2.0。 我将一个beans.xml文件添加到ejb-package以及war-package中。 现在我有一个使用托管bean LoginBean.java的xhtml页面。 已经在faces-config.xml中配置了bean,如下所示: Sample description loginBean com.sample.managedbeans.LoginBean session 所以,首先我删除了上面的配置,并将@ManagedBean @SessionScoped添加到了类本身。 因为我想将CDI添加到项目中,所以我将@ManagedBean更改@ManagedBean @Named (与问题2930889相关 )。 现在,当我提交相应xhtml的表单时,字段username和password (在JSP中用作#{loginBean.username} )为空。 当我改回@ManagedBean ,它工作正常。 我在这里错过了什么吗? 亲切的问候,塞巴斯蒂安