问题标签 [managed-bean]

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 回答
22307 浏览

jsf - 如何以编程方式设置 -Dorg.apache.el.parser.COERCE_TO_ZERO=false

这个问题类似于:

jsf:绑定到 UI 中输入文本的整数属性在提交时设置为零

但我对解决方案并不完全满意。上下文是相同的:我有一个需要整数值的 Web 表单。如果文本框为空,我希望我的 Integer 字段为“null”,但 EL Parser 会自动将我的 id 字段设置为“0”。

我可以通过在本地 Tomcat VM 中设置 JVM 参数来解决此问题:

-Dorg.apache.el.parser.COERCE_TO_ZERO=false

但是,这不适用于我们客户的机器。是否可以“代码内”设置/更改此 JVM 参数。

更新:我发现有人要求这样做,但如果其他人有任何其他解决方法,我也想听听。

https://issues.apache.org/bugzilla/show_bug.cgi?id=48813

更新 2:我无法将值从“0”更改回“空”,因为我的应用程序应将“0”视为实际 ID。所以我需要在运行时知道 id 文本框是否为空。

0 投票
2 回答
665 浏览

java - 自定义组件和对支持 bean 的访问

在 JSF2 中是否可以从自定义组件(在方法 encodeBegin 中)访问 FacesContext 和托管 bean?

谢谢。

0 投票
2 回答
4699 浏览

java - 对 jsf 2.0 Managed Bean 进行单元测试的最佳方法

对 JSF 2.0 托管 bean 进行单元测试的最有效方法是什么。我从 JBoss 看到了 JSFUnit,但它看起来像是用于测试 facelets 页面中的组件,而不是托管 bean 本身。

我想找到一种方法来有效地对托管 bean 进行单元测试。

有任何想法吗?

0 投票
2 回答
7869 浏览

jsf - 不能在另一个 @ManagedBean 中 @Inject @ManagedBean

好的,这是我的会话 bean。我总是可以从任何 Servlet 或过滤器中检索 currentUser。那不是问题 问题是fileList 和currentFile。我已经用简单的 int 和 Strings 进行了测试,它的效果相同。如果我从我的视图范围 bean 中设置一个值,我可以从另一个类中获取数据。

这是一个例子。

我的视图范围 bean。这就是它的装饰方式。

现在是代码。

我可以完美地看到当前文件名。这实际上是从 jsf 操作方法打印出来的。所以很明显 currentFile 正在被设置。

现在,如果我这样做。

currentUser 显示正常,但我看不到文件。它只是空白。字符串、整数等也会发生同样的事情。

感谢您对此提供的任何帮助。

信息:UserSessionBean:第 3B 行--8531268875812004316.csv(从视图范围 bean 打印的值)

信息:文件过滤器 tester.csv(运行过滤器时打印的值。)

**编辑**

这行得通。

我把它放在 ViewScoped 的构造函数中,一切都很好。现在为什么注入没有按照我的想法进行?起初我想可能是因为我使用的是 JSF 托管 bean 而不是新的 CDI bean。但是我将豆子改成了新的样式(带有命名),效果是一样的。

注入是否只允许您访问 bean 但不能更改它们的属性?

0 投票
1 回答
1693 浏览

java - 帮助理解 JSF 对托管 bean 的多次调用

我正在使用 h:datatable,这是我的代码的相关行:

然后我有一个请求范围的 managedBean 和最新收入的 getter:

这个 getter 被调用了 8 次,我没有在其他任何地方使用它,只在 dataTable 的值上使用它。为什么会这样?如果您需要更多代码,请询问。但那是我使用该属性的唯一地方。

0 投票
0 回答
2567 浏览

jsf - JSF 2.0 commandButton 动作被调用了两次

我遇到了 JSF 的问题,希望有人可以帮助我。我有一个带有 SessionScoped 托管 bean 的 Facelets xhtml 页面。当在页面上按下命令按钮时,会在 bean 中调用一个方法,该方法会动态地在页面上创建另一个带有另一个命令按钮的表单。到目前为止效果很好,但是当在页面上按下新创建的按钮时,它会以某种方式调用操作方法两次。以下是来自我的支持 bean 的代码示例:

动态创建新表单并且工作正常的方法:(我使用 setActionExpression 将动作绑定到按钮)

这个方法被调用了两次:

和 xhtml 源代码:

我刚刚开始学习 jsf,所以也许我做错了什么,但如果有人能解释这一点,我将非常感激。

谢谢

0 投票
3 回答
698 浏览

java - 使用 ManagedProperty 遇到问题

我试图在几个 SessionScoped bean 之间共享一个对象。我得到了错误,我真的不知道为什么。

我相信这是正确的语法,但是任何类似的调用都会tb.getName导致异常。

我是否完全误解了 ManagedProperty 的工作原理?

0 投票
1 回答
157 浏览

java - JSF bean 实例化:是否仅实例化视图中引用的 bean?

我猜如果我有 6 个 requestscoped bean,那么只有当前视图引用的那些(例如通过使用 #{foo.bar})被实例化。这个假设正确吗?在这种情况下,唯一创建的 bean 将是 foo,而不是 foo2、foo3 等,它们也是 requestscoped 或 viewscoped 等。

CDI 的 @Named 和 jSF 的 @ManagedBean bean 都会发生这种情况吗?

0 投票
3 回答
89321 浏览

session - 如何在 JSF 2.0 中使会话无效?

在 JSF 2.0 应用程序中使会话无效的最佳方法是什么?我知道 JSF 本身不处理会话。到目前为止我能找到

  1. 这种方法正确吗?有没有办法不接触 ServletAPI?
  2. 考虑一个@SessionScopedUserBean 处理用户登录-注销的场景。我在同一个bean中有这个方法。reset()现在,当我在完成必要的数据库更新后调用该方法时,我当前的会话范围 bean 会发生什么?因为即使是 bean 本身也存储在HttpSession?
0 投票
6 回答
102778 浏览

javascript - 从托管 bean 调用 JavaScript 函数

有没有办法从 JSF 中的托管 bean 调用(执行)JavaScript 函数?

如果这是相关的,我也在使用 PrimeFaces。