Tag: jsf

Primefaces Captcha消失或无效更新/刷新无效输入?

我在h:form有以下代码片段 如果我正确输入validation码,这可以正常工作。 但是,如果我输入的值无效,则validation码组件就会消失。 我尝试删除update=”captchaGrid”属性。 这一次,validation码并没有消失。 相反,它没有在视觉上刷新,但(我猜)在内部。 因为正确键入两个单词仍会生成validation错误。 此外; 我不想使用ajax=”false” 。 更新:我也试过oncomplete=”Recaptcha.reload()” 。 没工作。 有一个错误。 但我不知道这是我的代码还是Primefaces 3.0 🙂 更新2:正如maple_shaft所指出的,事实certificate这是Primefaces / Recaptcha的一个问题。 所以我正在寻找你可能建议的任何肮脏的黑客。 任何帮助赞赏。

richfaces suggestionBox将附加值传递给辅助bean

使用RichFaces suggestionBox如何将带有文本输入的页面中的多个id或值传递给suggestionBox支持bean。 即:显示选定州内的建议城市列表? 这是我的autoComplete方法。 public List autocomplete(Object suggest) { String pref = (String) suggest; ArrayList result = new ArrayList(); Iterator iterator = getSuburbs().iterator(); while( iterator.hasNext() ) { Suburb elem = ((Suburb) iterator.next()); if( (elem.getName() != null && elem.getName().toLowerCase().indexOf( pref.toLowerCase() ) == 0) || “”.equals( pref ) ) { result.add( elem ); } } return result; […]

如何在dataTable中引用dataTable父级?

考虑一个虚拟案例: 在按钮单击时, id=rowsContainer成功更新。 但是,如果我添加ui:repeat在那里ui:repeat ,它就不再起作用了: 相反,这得到: contains an unknown id ‘:wrapperForm:blocksRepeat:0:rowsWrapper’ – cannot locate it in the context of the component j_idt363 但是,该组件确实存在该ID,因此EL应该没问题。 不知怎的, ui:repeat打破了这个案子。 是否可能在实际循环之前尝试评估EL? 你如何从dataTable中引用rowsWrapper元素? 注意:我最近在ui:repeat中询问了奇怪的dataTable命名 , 结果certificate这是一个错误 。 但是,这个问题与此无关,因为我将dataTable包装在panelGroup中,如此处所示 。

com.sun.faces.enableRestoreView11Compatibility在JSF 1.2中使用的是什么

当我有javax.faces.application.ViewExpiredException时,我想将用户发送到登录页面。 web.xml中 … com.sun.faces.enableRestoreView11Compatibility true … javax.faces.application.ViewExpiredException /errors/sessionExpired.jsf sessionExpired.jsf …. 但enableRestoreView11Compatibility是JSF 1.1中使用的方法,什么是JSF 1.2的解决方案?

JSF面向WEB-INF外的配置文件?

在创建多个面配置文件时,在WEB-INF之外使用faces-config.xml是正确的吗? JSF规范似乎并不十分清楚(第10.1.3节) 如果是,那么如何在web.xml中声明faces-config.xml? IDE生成的路径(如Eclipse / JDev)通常使用以下内容: javax.faces.CONFIG_FILES /WEB-INF/faces-config1.xml 现在,如果我的faces-config.xml在WEB-INF之外 – 将param-value声明为“/WebContent/WEB-INF/faces-config2.xml”是否正确?

将参数传递给PrimeFaces星级组件?

我正在尝试使用PrimeFaces的Star Rating组件。 但是,它不允许您传入参数。 这使得我无法进行查找以从数据库中获取我想要评分的实体。 我尝试过类似的东西,但没有成功: 有没有其他方法可以将参数传递给我的动作类? 有什么我想念的东西会让我得到我想要的行为吗? 谢谢你的帮助!

JSF视图在每个ajax请求上进行重建

我的JSF / RichFaces / Facelets ajax请求存在性能问题,而且我可以告诉它,因为整个组件树正在每个ajax请求上重建。 即使我使用ajaxSingle = true,在a4j:区域中包装部分,声明单个部分进行重新渲染或者根本不进行渲染,也会发生这种情况。 我们的页面是一个包含许多嵌套级别的动态页面。 该页面可能包含大约800-900个字段(inputText,富日历,selectOneMenus等)。 初始加载时间是一个问题,但我理解这个问题,它有很多领域。 一旦我们有了初始构建/渲染时间,虽然我们已经将所有其他操作设计为ajax并且只需要reRender。 从facelets调试日志我在任何ajax调用上看到这样的消息: 2011-08-24 22:19:03,054 DEBUG [facelets.viewhandler] (http-0.0.0.0-8080-2) Took 24445ms to build view: /oconsole/appfile.xhtml 2011-08-24 22:19:09,377 DEBUG [facelets.viewhandler] (http-0.0.0.0-8080-2) Took 6323ms to render view: /oconsole/appfile.xhtml 我不确定我们正在做的事情是否导致整个组件树的重建,或者facelets是否正在确定由于某种原因(过时缓存?)所需的这种需求。 这是我们的堆栈:JBoss 5.1 JSF 1.2 RichFaces。 3.3.3.Final Facelets 1.1.15 Seam 2.1.2 我已经尝试添加一些上下文参数来查看它们是否有用,但它们什么都没做:facelets.BUILD_BEFORE_RESTORE = false facelets.REFRESH_PERIOD = -1或5(如5分钟) 无论如何要告诉我们的观点是否正确缓存? 我们没有delcare一个状态保存方法,所以我认为它默认为服务器端。 […]

自定义注释JSF

我想制作一个自定义注释来检查我的JSF Web应用程序的某些函数的安全性。 为了安全起见,我将Tomcat安全性与JaaS一起使用,因此我没有应用程序管理的安全性。 实际上想要做的是在Spring Security(@Secured(“role”))等Backing Beans中为我的方法做一个注释。 我的安全系统是实现的,所以每个function都是一个角色,你可以动态地将“用户角色”存储在数据库中,当有人登录所有(function)角色时,“用户角色”将在tomcat安全中设置作为角色。 所以现在我有这段代码来检查我的用户是否可以访问该function: public static void checkSecurity(final String function) { final FacesContext facesContext = FacesContext.getCurrentInstance(); try { if (facesContext.getExternalContext().getRemoteUser() == null) { facesContext.getExternalContext().redirect(“login.xhtml”); return; } if (!facesContext.getExternalContext().isUserInRole(function)) { facesContext.getExternalContext().redirect(“restricted.xhtml”); return; } } catch (final Exception ex /* Mandatory “IOException e” will be caught + all other exceptions. */) { facesContext.getExternalContext().setResponseStatus(403); […]

从支持bean导航到外部URL?

我正在尝试为我的Java EE / JSF2应用程序实现正确的注销。 它需要两件事: 我需要从JAAS注销并使会话无效 然后我必须导航到外部URL以触发Siteminder注销 Siteminder注销URL(在策略服务器上配置 – >我无法更改它)在我的应用程序上下文之外。 例如。 如果我的webapp URL是https:// localhost:8080 / sm / MyWebApp,那么注销URL是https:// localhost:8080 / anotherwebapp / logout.html 。 这是当前的本地注销代码: public void logout() { System.out.println(“Logging out…”); HttpServletRequest request = (HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest(); try { request.logout(); } catch (ServletException e) { e.printStackTrace(); } HttpSession session = (HttpSession)FacesContext.getCurrentInstance().getExternalContext().getSession(false); if (session != null) { session.invalidate(); […]

是否可以使用jsf h:datatable来拥有多行

使用h:datatable,我们可以显示如下数据 JEMS 汤姆 chirs 掠夺 但我可以显示如下所示: Jems 2.汤姆 克里斯4.哈里 阿拉比,西class牙人