问题标签 [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.
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 调用]
我根据日志输出的散布和我注册的生命周期侦听器报告序列。我是否遗漏了什么,如果没有,我如何确保转换器在访问之前正确设置了客户字段?
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 输入元素,但转换器在相反方向的作用对我来说没有意义。
validation - 回发验证失败后如何保留 f:viewParam 值
我有简单形式的 xhtml 页面。此页面用于多个数据表。要指定数据表(等等),我使用 GET 请求参数。xhtml页面通过接收它
并再次通过导航规则,如
但是如果我像这样在 xhtml 文件中使用输入
尝试接受没有输入文本的表单后,我无法恢复视图参数。我尝试使用隐藏输入来传递参数
,但似乎验证运行之前和 itemsBean.page 仍然是空的。itemsBean 是 RequestScoped。我做错了什么?我怎样才能传递参数?
谢谢你浪费你的时间。
java - ui:include 依赖于 viewParam
我有一个页面,我想根据视图参数给出的值包含页面的一部分(在本例中为页脚)。
我ViewScoped
在 preRenderView 上初始化了我的支持 bean
这会查询数据库以获取要包含的页脚的名称。然后,以这种方式使用它:
这总是给我一个缺失的页面。但是,如果我手动输入页面名称,它就可以工作。如果我ui:include
用h:outputText
.
我知道这与 JSF 的阶段有关,并且在ui:include
完成时,该值尚未设置。(阅读和更好地理解这些阶段是我的 TODO 列表中的内容)。
问题仍然存在。我怎样才能完成这样的事情。让 bean 使用 viewParam,查询数据库并在 a 中使用该值ui:include
?
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
),我会得到以下信息:
我对此不是很有经验,即使我自己研究了一下,我也无法弄清楚。有人知道解决方案吗?
jsf - 不包括 URL 参数
我有一个 JSF 页面,该页面由test.xhtml?a=15&b=20
.
我有一个链接应该将所有 URL 参数传递到下一页。
我期待当我点击链接时它会转到index.xhtml?a=15&b=20
但我在 URL 中看不到任何内容。我理解includeViewParams
错了吗?
validation - JSF - 类似于 viewParam 的 bean 属性验证?
是否有类似的东西f:viewParam
可以检查给定属性是否存在,如果不存在则打印消息?
例如,我有一个购物车网站,用户被重定向到该网站。购物车位于会话范围内。在第二个站点上,应该在我想使用此验证的地方显示扩展购物车。
有许多用例,例如,如果将存储在会话中的用户访问帐户站点但未登录。
ajax - JSF ViewParam 必需 +AJAX 中断页面
当我单击下面页面上的命令按钮时,导航失败。(单击按钮刷新页面,删除 URL 参数并显示所需的错误消息,而不是导航到索引页面)
但是,如果我删除所需的属性或删除 f:ajax 标记,导航工作正常。
使用 com.sun.faces JSF 2.1.13 和 primefaces 3.4。
jsf - JSF ViewParams 未通过
我发现视图参数不会从目标页面上支持 bean 不同的页面传递。如何将产品参数从 test1.xhtml 传递到 test2.xhtml?
测试.xhtml
test2.xhtml
持有人.java
Holder2.java
产品.java
产品转换器
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字段。