问题标签 [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 投票
0 回答
163 浏览

jsf - 如何在jsf中设置和获取viewparameter?

我试图将数据从一个 jsf 页面发送到另一个页面,但没有成功。

第一页.xhtml

第一豆

第二页.xhtml

二豆

当我使用:

我得到消息:元数据组件需要嵌套在 af:metadata 标记中。建议:将必要的组件包含在

当我使用时:

我有一个空指针异常:

我做错了什么?

0 投票
0 回答
593 浏览

jsf-2.2 - 没有为bean设置值

我想实现一个简单的 PRG 方法,由于某种原因,它不能按我的预期工作。请帮忙。

1)我从 firstpage.xhtml 做一个 POST

2)在这里,我正在处理动作并进行重定向。

3)在页面editCourse.xhtml中,我正在读取请求参数。

我对第三步的期望是 courseModelBean 的第一个 setCourseId() 将被调用,然后是 courseDesignerBackingBean.updateModelBeanByCourseId。但是, setCourseId() courseModelBean 没有被调用。

有什么提示吗?

最好的问候,阿南德。

0 投票
0 回答
162 浏览

jsf - f:viewParam 未读取会话丢失的 url

我正在使用<f:viewParam>和访问我的 jsf 页面<f:viewAction>

我的页面可以正常访问,其中从 url 读取参数并访问 getter 和 setter

我的问题是,当此页面会话丢失并且我刷新页面以重新运行时,我将被定向到登录页面并写入用户名和密码,然后重定向到我的页面但<f:viewParam>没有读取 url

我调试了我的代码,它没有访问变量保持为 0 的变量的 getter 和 setter,而不是设置为 url 中的 id

网址:localhost:8080/myProject/views/myPages/bookList?id=1

JSF 代码:

Java代码:

0 投票
1 回答
1191 浏览

jsf - commandButton actionListener 在带有 viewParam 的 PrimeFaces 页面中不起作用

我在 JSF/PrimeFaces 中发现了一个奇怪的行为,并请求您帮助理解和解决它。commandButton 中的 actionListener 方法只执行一次。

语境化:

我在我的项目的起始页中放了一个链接到第二页,呈现如下:

请注意,查询字符串发送了一个参数。

somepage.xhtml:

如您所见,它非常简单。请注意,有一个元数据部分进行参数接收和 init() 方法的执行。在页面正文中有 ap:commandButton 和一个指向 doTeste() 的 actionListener。

有我的豆:

好吧,现在神秘的行为:

1) 加载页面时,如预期的那样,init() 方法会显示一条消息,其中包含 viewParam 获取的正确属性值。2) 触发按钮,正如预期的那样,doTeste() 方法显示一条具有正确属性值的消息。但是,3)再次触发按钮,没有任何反应!

其他事实:

如果我删除元数据部分,doTeste() 方法的执行次数与单击按钮的次数一样多,这是应该发生的。但是很明显,该属性没有被初始化。

如果我将按钮定义从 p:commandButton 切换到 h:commandButton,doTeste() 方法将按预期执行并且属性被初始化。但我失去了 PrimeFaces 模式。

我的问题:

如何让 PrimeFaces 中的 commandButton actionListener 表现得符合预期?(每次触发时执行该方法)

谢谢!

0 投票
1 回答
401 浏览

validation - Primefaces 轮询触发来自 f:viewParam 的消息

第一次在这里发帖,所以对我来说有点裸露。搜索了很多,但无论是因为我是盲人还是因为我没有使用正确的搜索字符串,我都没有找到任何与我的问题相关的答案。

基本上,我有一个用 Java 编写并使用 Primefaces 的 Web 应用程序。我正在使用 ap:layout,主要内容在中心单元,页眉在北部,页脚在布局的南部单元。west 布局单元持有 ap:poll ,它每两秒运行一次,并且在触发 oncomplete 事件时调用一个 js 函数。

到目前为止,一切都很好。问题是,在某个页面上,在中心布局单元中,我有 af:viewParam,它只接受 long,即使该值是有效的,当执行上述轮询时,f:viewParam 中的 requiredMessage 也会出现。

在进行了一些深入的搜索后,我发现通过向 p:poll 添加 ignoreAutoUpdate="true" ,来自 f:viewParam 的消息不会被触发,并且告诉我必须提供有效 id 的警告不是' t 所示。

所以,我的问题是:通过在我的 p:poll 中使用 ignoreAutoUpdate="true" 是否会危及 f:viewParam 验证?或者把它放在那里安全吗?

这是我的布局中的相关部分:

民意调查形成西部布局单元:

包含我的 f:viewParam 的 f:metadata 块:

谢谢!

0 投票
1 回答
138 浏览

jsf - 根据 URL 参数启用\禁用命令按钮

JSF 2 允许使用<f:viewParam>标签来初始化 URL 参数。

例如:

然后在 backing bean 中使用这个参数来加载一些使用<f:event>.

例如:

中的preRenderView()方法applicationBean将一些布尔变量buttonEnabled设置为 true\false

在主页中使用此变量来启用\禁用按钮时,它不起作用(例如,它总是评估为假):

有什么建议么?

0 投票
0 回答
346 浏览

jsf - 将查询字符串参数转换为实体

我正在尝试做一些我认为的最基本的场景。

在起始页面上有一个来自数据库的类别列表,在我点击类别后,应该有一个页面包含有关该类别的一些详细信息(可能打印它的名称和一些产品等)

我试图做BalusC 在他们的博客文章中所做的事情

我正在使用 java-ee-7、glasfish 4.1、hibernate 4.3.5

在 index.xhtml 中,我使用参数链接到类别:

categoryId使用查询字符串参数可以很好地打印类别。

然后在 category.xhtml 我有:

CategoryController 代码如下所示:

转换器看起来像这样:

调用了一些仅测试getAsString方法,但我认为应该有getAsObject

语句<h:outputText value="#{categoryController.category.name}" />不打印任何内容(可能为空)。如何在category.xhtml页面中有类别实体?

--

为了清楚起见,我让它与一些想法一起工作

但这会产生http post,我想要简单的get请求。对我来说,只能通过post.

如果缺少某些东西,我可以通过 github 访问它,并在此处删除不必要的代码:https ://github.com/Yavin/jsf-entity-convert

0 投票
0 回答
465 浏览

jsf - 在页面之间传递参数

我无法将一个简单的参数从一个 Facelet 传递到另一个,并设置一个 bean 属性......这是我的代码:

调用页面,main.xhtml(仅相关代码):

最后一页index.xhtml

IndexBean(仅相关代码):

我在链接(http://localhost/index.xhtml?logout=true)上获得了 URL 参数,但该setLogout方法从未被调用。

我什至尝试将logout类型更改为 String,正确更改 getter 和 setter,看看会发生什么,但从未调用过 setter...

任何想法?

提前致谢!!

0 投票
1 回答
468 浏览

validation - 验证 f:viewParam 值是否为一组选择的允许值之一

我正在学习 JSF 2.2,我很难找到一个好的答案,我可以理解如何对 GET 参数进行更多验证。

我有一个 source.xhtml 文件,它有一个这样的链接:

在我的destination.xhtml中,我的代码如下所示:

我的 bean 类看起来像这样:

正如你所看到的,我已经使用了“必需”属性来确保类型参数至少在那里,并且一切正常。但我想做更多的验证。

具体来说,我想确保 String 类型的值只会是 ALTER、INSERT、UPDATE 或 DELETE。

这是自定义验证器的用武之地吗?对于这样一个简单的验证检查,自定义验证器似乎太过分了。我确定我错过了一些东西。也许在 PostConstruct init() 方法中添加一些东西?

0 投票
2 回答
1677 浏览

jsf - 如果 af:viewParam 为空则重定向

Сan 如果 af:viewParam为空,我会执行重定向(或错误)吗?

当我添加required="true"时,没有任何反应。有什么选择?