Tag: jsf 2

如何以编程方式或动态创建JSF 2中的复合组件

我需要以编程方式在JSF 2中创建复合组件。经过几天的搜索和实验,我找到了这种方法(在java.net上受到Lexi的启发): /** * Method will attach composite component to provided component * @param viewPanel parent component of newly created composite component */ public void setComponentJ(UIComponent viewPanel) { FacesContext context = FacesContext.getCurrentInstance(); viewPanel.getChildren().clear(); // load composite component from file Resource componentResource = context.getApplication().getResourceHandler().createResource(“whatever.xhtml”, “components/form”); UIComponent composite = context.getApplication().createComponent(context, componentResource); // push component to el composite.pushComponentToEL(context, […]

JSF 2:如何在同一输入中显示不同的ajax状态?

当每个字段失去焦点时,我想validation表单中的每个字段,当发生这种情况时,我希望这些操作发生: 1)在字段的右侧出现一个图像,一个.gif(表示系统正在检查用户输入) 2)完成时出现另一个.gif(例如,取决于输入,’sucess.gif’或’error.gif’)和右侧的消息。 我不想使用弹出窗口或类似的东西,用户将失去可用性,我不想要这个。 我正在尝试做这样的事情,这是我到目前为止所做的: 我正在寻找谷歌的一些解决方案 是我最好的选择,因为onbegin和oncomplete属性。 在JSF 2中的某些本地标记中有一些属性吗? 更新 :@BalusC方法: Insert title here function showProgress(data) { var inputElement = data.source; // The HTML DOM input element. var ajaxStatus = data.status; // Can be “begin”, “success” and “complete” var messageForInputElement = document.getElementById(inputElement.id + “_message”); switch (ajaxStatus) { case “begin”: // This is called right before […]

使用JSF 2.0 / Facelets,有没有办法将全局侦听器附加到所有AJAX调用?

有没有办法将全局侦听器附加到JSF中的所有AJAX调用? 也许通过阶段听众或其他什么? 这是一个难题…让我们说你正在使用f:ajax标签和apache shiro之类的东西,你让你的会话到期。 然后你回来并点击一个附有f:ajax的按钮。 服务器将以302重定向响应登录页面。 用户什么也看不见。 他们可以反复点击并调用ajax调用,但对他们来说应用程序只是“死了”。 所以,我的问题是,有没有办法将监听器附加到JSF中的所有ajax调用? 如果是这样,我想做的是监控响应代码。 如果是重定向,请使用window.navigate沿途发送它们。 我总是乐于听取其他人如何解决这个问题!

通用JSF实体转换器

我正在编写我的第一个Java EE 6 Web应用程序作为学习练习。 我没有使用框架,只有JPA 2.0,EJB 3.1和JSF 2.0。 我有一个自定义转换器将存储在SelectOne组件中的JPA实体转换回实体。 我正在使用InitialContext.lookup来获取对会话Bean的引用以查找相关的实体。 我想创建一个通用的实体转换器,所以我不必为每个实体创建一个转换器。 我以为我会创建一个抽象实体并让所有实体扩展它。 然后为抽象实体创建自定义转换器,并将其用作所有实体的转换器。 这听起来合理和/或切实可行吗? 是不是有一个抽象的实体,只是一个转换器来转换任何实体更有意义? 在那种情况下,我不确定如何获得对相应会话Bean的引用。 我已经包含了我当前的转换器,因为我不确定我是否以最有效的方式获得了对Session Bean的引用。 package com.mycom.rentalstore.converters; import com.mycom.rentalstore.ejbs.ClassificationEJB; import com.mycom.rentalstore.entities.Classification; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; import javax.faces.context.FacesContext; import javax.faces.convert.Converter; import javax.faces.convert.ConverterException; import javax.faces.convert.FacesConverter; import javax.naming.InitialContext; import javax.naming.NamingException; @FacesConverter(forClass = Classification.class) public class ClassificationConverter implements Converter { private InitialContext ic; private ClassificationEJB classificationEJB; […]

如何引用JAR文件中提供的JSF托管bean?

我有一个具有以下结构的WAR文件: JSF托管bean BusinessObjectTypeListController位于/WEB-INF/lib中的commons-web-1.0.jar中,并在BusinessObjectTypeListView.xhtml引用。 当我运行我的Web应用程序并调用该视图时,出现以下错误: javax.servlet.ServletException:/view/common/businessObjectTypeListView.xhtml @ 34,94 listener =“#{businessObjectTypeListController.selectData}”:目标无法访问,标识符’businessObjectTypeListController’已解析为null 为什么找不到控制器类? 它应该在classpath中,是吗?