问题标签 [facescontext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
104 浏览

jsf - 从 FacesContext 中检索验证器

我想知道是否可以从那里检索 a ValidatorFacesContext因为我可以从那里检索 id。通过做这个:

我现在想Validator通过使用这些 id 来获得一个。这可能吗?

0 投票
4 回答
4704 浏览

jsf-2 - 以编程方式访问 JSF 和 Primefaces 版本号

我使用 PrimeFaces 3.5.x 和 Mojarra JSF 2.1.x 我想以编程方式访问和显示这两个库的版本。

我将这些版本用作 maven2 属性,但我希望有一种更简单的方法来获取这些版本。我希望能找到类似的东西:

基于 JavaScript 的解决方案也可以,因为我只想在状态页面上显示版本。

0 投票
2 回答
7559 浏览

jsf-2 - Websphere 8.5 - JSF webapp 上下文初始化错误:cleanupInitMaps

我有一个使用 mojarra 2.1.17 发行版开发的 JSF 2.1 Web 应用程序,它在 JBoss 6.1 容器上运行时遇到任何问题:现在我必须更改应用程序服务器,我必须使用随 MyFaces JSF 2 发行版诞生的 websphere AS 8.5。我正在尝试部署和启动我的 webapp 忽略 MyFaces 并使用 Mojarra,将我的 EAR 配置为 IBM 官方指南所示,配置包含 mojarra dist 的共享库,将其链接到专门为我的 server1 WAS 8.5 实例创建的新类加载器。它根本不起作用,当我部署我的 web 应用程序时,当 WAS 尝试启动应用程序时,我得到了这个堆栈跟踪:

我也调试了 mojarra dist 的 cleanupInitMaps() 方法,我看到它试图从 FacesContext 中获取两个 Map 类型的变量,称为threadInitContextinitContextServletContext但得到 null:

这是如何引起的,我该如何解决?

0 投票
2 回答
856 浏览

session - 在 JSF 页面中访问 SessionScoped Bean

我在我的应用程序中使用 SessionScoped Managed Beans:

我有我的控制器:

逻辑是,我有一个启动页面,我在其中输入值。然后进入确认页面,最后进入完成页面。我必须在其余页面中显示在启动页面中输入的数据。

启动页面如下:

启动.xhtml

在确认页面中,我想显示此数据。

确认.xhtml

但是,我没有在这里显示任何值。我尝试将这些值放入showConfirm()方法中的 sessionMap 中。

但是,我也无法在 confirm.xhtml 中查看这些值。

只有当我使用<h:outputFormat value="#{sessionScope.sampleBean.value}">时,才会显示这些值。此外,我只想使用SessionScope来执行此操作,因为所有这些都是带有会话的更大应用程序的一部分。有替代方法吗?

0 投票
2 回答
16407 浏览

jsf -

我有一个带有输入字段和保存按钮的 jsf 表单,如下面的代码所示。我想要实现的是,当单击保存按钮时,应使用正则表达式模式验证输入。如果验证失败,则不应显示保存确认对话框。否则会显示保存确认对话框,让用户选择是否保存。

在下面的代码中,尽管有条件 onclick="if(#{conditionOK}),但始终显示对话框。我不希望显示确认对话框,当 conditionOK 返回 false !!!经过多次尝试后,我认为 facescontext .isValidateFailed() 不会被重新评估。

请帮忙 :(

我想要的只是检查正则表达式验证器是否返回true。对于这种情况,应显示确认对话框。

我的方法可能是错误的。非常感谢你们是否还有其他解决方案。


我不认为 JSF 验证是适合您的方式。它旨在防止在验证失败的情况下更改模型数据。
如果您想检查 JavaScript,您必须更新 HTML 中的部分。JavaScript 不会重新评估Expression,因此每次都将使用第一次呈现视图时的值。

在 xhtml 中尝试以下操作:

并将此方法添加到CusBean

结果将是,没有发生 JSF 验证,并且每次更改时都会提交 textArea 的值。加上命令按钮部分已更新,因此条件将被更新。

0 投票
1 回答
98 浏览

java - Internet Explorer 不下载文件,只显示字符

Internet Explorer 不会下载文件,只会出现字符。

仅 Microsoft Office 文件,例如(.doc、.xls、.docx)

这是我的代码:

*.jspx:

控制器.java

0 投票
2 回答
1865 浏览

jsf - 为什么我的 FacesContext.getCurrentInstance().getExternalContext().getUserPrincipal() 代码会运行到 NullPointer?

我有一个无状态 bean,它有一个方法,我想在其中获取当前/登录的用户。我得到它的代码:

但是我得到了空指针异常。这是为什么?

或者有没有其他方法可以获取登录用户?我正在使用网络逻辑。

0 投票
1 回答
2521 浏览

jsf - FacesContext 和什么是 ClientId

你能解释一下为什么我们需要在String clientId方法中

void addMessage(String ClientId, FacesMessage msg);? 当客户端向服务器发送初始请求时,服务器是否会为该客户端分配一个特定的String ClientId. 据我了解FacesContext,在第一次部署和运行应用程序时创建,这FacesContext对于应用程序来说是独一无二的。这是真的吗?

0 投票
1 回答
1391 浏览

validation - 使用 facesContext.validationFailed 时未定义 facesContext 错误

我试图用来#{facesContext.validationFailed}知道验证是否失败,以及是否显示对话框。

我建立了一个小项目来测试它,但得到

ReferenceError:未定义 facesContext

在我的萤火虫中,无论验证是否失败,都不会显示对话框。

这是我的代码:

有谁知道为什么?提前致谢。

0 投票
1 回答
815 浏览

jsf-2 - 在调用 ExceptionHandlerWrapper 中的 handle() 方法之前处理 ViewExpiredException

我已经通过 google 和 stackoverflow 进行了搜索,但找不到任何与我类似的问题。

在我的项目中,我正在正确处理 ViewExpiredException 并向用户显示当前会话已超时的自定义页面。这很好用,但我想在此消息显示给用户之前做一些事情。实际上,我在这里使用 2 个不同的会话,一个在前端,一个在后端,所以这个想法是在当前会话超时时不启动新的后端会话。当我在 doFilter 方法中时,是否有可能获取 ViewExpiredException,所以我不启动新的后端会话(只是因为不需要它)?或者还有其他方法吗?

我已经尝试通过获取当前上下文

但显然上下文为空,因为会话超时。在 ExceptionHandlerWrapper 中,我可以访问 UnhandledExceptionQueuedEvents,但这对我没有帮助,因为我之前需要这些信息。

我希望我的问题足够清楚。

提前感谢您的帮助!

问候塞巴斯蒂安