问题标签 [viewparams]

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

java - 究竟什么时候是二传手被调用

我在我的 xhtml 页面上定义了一个f:metadata部分,如下所示,并带有一个f:viewParam,如下面的摘录所示:

.. 并为cust-id参数声明了一个 CustomerConverter 类。属性cust-id的转换器类getAsObject方法和支持 bean客户字段的 getter 方法都在PROCESS VALIDATIONS JSF 生命周期阶段调用,然后在UPDATE MODEL VALUES生命周期中调用客户字段的 setter 方法之前调用。循环阶段。结果,在调用 getter 时,转换器未正确初始化该字段。所以顺序是这样的(其中 CustomerCEVController 是支持 bean 类):

[过程验证阶段开始 ]
[CustomerConverter#getAsObject 调用]
[CustomerCEVController#getCustomer 调用]
[过程验证阶段结束 ]
[更新模型值开始 ]
[CustomerCEVController#setCustomer 调用]

我根据日志输出的散布和我注册的生命周期侦听器报告序列。我是否遗漏了什么,如果没有,我如何确保转换器在访问之前正确设置了客户字段?

0 投票
1 回答
255 浏览

jsf - 如果 f:viewParam 绑定到转换器,为什么我们需要 Converter#getAsString

假设我有以下f:viewParam定义:

我在 URL 中使用“?cust-id=2342”参数导航到预期的页面,因此转换器中getAsObject方法的作用显然是在支持 bean 中实例化 Customer 字段(例如,通过基于数据库查询关于 cust-id 值)。我不太清楚为什么我们需要getAsString方法以及它是如何使用的。这不是关于getAsString在通常情况下在转换器中的作用的问题,即在.xhtml视图 UI 元素和它们的作用很简单的支持 bean 之间的绑定中。我也在这里读到我们可以处理f:viewParam作为 GET 参数的 UI 输入元素,但转换器在相反方向的作用对我来说没有意义。

0 投票
1 回答
1609 浏览

validation - 回发验证失败后如何保留 f:viewParam 值

我有简单形式的 xhtml 页面。此页面用于多个数据表。要指定数据表(等等),我使用 GET 请求参数。xhtml页面通过接收它

并再次通过导航规则,如

但是如果我像这样在 xhtml 文件中使用输入

尝试接受没有输入文本的表单后,我无法恢复视图参数。我尝试使用隐藏输入来传递参数

,但似乎验证运行之前和 itemsBean.page 仍然是空的。itemsBean 是 RequestScoped。我做错了什么?我怎样才能传递参数?

谢谢你浪费你的时间。

0 投票
2 回答
944 浏览

java - ui:include 依赖于 viewParam

我有一个页面,我想根据视图参数给出的值包含页面的一部分(在本例中为页脚)。

ViewScoped在 preRenderView 上初始化了我的支持 bean

这会查询数据库以获取要包含的页脚的名称。然后,以这种方式使用它:

这总是给我一个缺失的页面。但是,如果我手动输入页面名称,它就可以工作。如果我ui:includeh:outputText.

我知道这与 JSF 的阶段有关,并且在ui:include完成时,该值尚未设置。(阅读和更好地理解这些阶段是我的 TODO 列表中的内容)。

问题仍然存在。我怎样才能完成这样的事情。让 bean 使用 viewParam,查询数据库并在 a 中使用该值ui:include

0 投票
1 回答
290 浏览

jsf-2 - viewParam 事件出错

我创建了一个网页,它检查来自 URL 的视图参数,并调用 bean 的 init 方法来检索该用户。然后用该用户的信息填充该页面上的字段。

但是出了点问题。

我的 Facelets 页面:

和 UserBean.java:

由于System.out.println(name)没有调用,我认为网页不会调用 init。如果我在没有 URL-adaptions ( http://localhost:8080/KwetterJSF/) 的情况下启动网页,我会收到以下错误消息:

WELD-000049 无法在 beans.UserBean@3c836d3d 上调用 [method] @PostConstruct public beans.UserBean.init(ComponentSystemEvent)

如果我添加参数 ( http://localhost:8080/KwetterJSF/index.xhtml?user=Sjaak),我会得到以下信息:

我对此不是很有经验,即使我自己研究了一下,我也无法弄清楚。有人知道解决方案吗?

0 投票
1 回答
4370 浏览

jsf - 不包括 URL 参数

我有一个 JSF 页面,该页面由test.xhtml?a=15&b=20.

我有一个链接应该将所有 URL 参数传递到下一页。

我期待当我点击链接时它会转到index.xhtml?a=15&b=20

但我在 URL 中看不到任何内容。我理解includeViewParams错了吗?

0 投票
0 回答
101 浏览

validation - JSF - 类似于 viewParam 的 bean 属性验证?

是否有类似的东西f:viewParam可以检查给定属性是否存在,如果不存在则打印消息?

例如,我有一个购物车网站,用户被重定向到该网站。购物车位于会话范围内。在第二个站点上,应该在我想使用此验证的地方显示扩展购物车。

有许多用例,例如,如果将存储在会话中的用户访问帐户站点但未登录。

0 投票
1 回答
2237 浏览

ajax - JSF ViewParam 必需 +AJAX 中断页面

当我单击下面页面上的命令按钮时,导航失败。(单击按钮刷新页面,删除 URL 参数并显示所需的错误消息,而不是导航到索引页面)

但是,如果我删除所需的属性或删除 f:ajax 标记,导航工作正常。

使用 com.sun.faces JSF 2.1.13 和 primefaces 3.4。

0 投票
2 回答
585 浏览

jsf - JSF ViewParams 未通过

我发现视图参数不会从目标页面上支持 bean 不同的页面传递。如何将产品参数从 test1.xhtml 传递到 test2.xhtml?

测试.xhtml

test2.xhtml

持有人.java

Holder2.java

产品.java

产品转换器

0 投票
1 回答
2787 浏览

jsf - 未使用 URL 参数时在 POST 上重新创建视图范围的 bean

我有一个视图范围的JSF 托管 bean,它支持一个xhtml视图,我使用f:viewParam从 URL 读取一个参数。

视图向用户呈现一个表单。但是,当用户通过按下p:commandButton提交表单时,似乎重新创建了视图范围的 bean(我添加了一个@PostConstruct注释来验证这一点),因此不记得从f:viewParam读取的实例变量(下面代码中的invId)。

我最初使用包含URL参数的GET导航到视图,但是当用户按下p:commandButton时发送的POST消息不包含URL参数。所以我在想,当 JSF 运行时在POST上看不到 URL 参数时,它认为这是一个不同的视图,并且正在重新创建 JSF 管理的 bean。当我将视图范围更改为会话范围时,代码有效。

这是代码:

看法

后备豆

更新

事实证明,这根本与 URL 参数无关。按照下面的BalusC建议,我删除了我的视图使用的c:when标记(依赖渲染属性而不是相同的效果),现在不再重新创建视图范围的 bean,并且正确保留了invId字段。