问题标签 [commandlink]

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

jsf-2 - 使用在数据表中的单元格上打开子表

我基本上有一个数据表,其中一列是可点击的。我通过使用 primefaces 中的 commandlink 完成了这项工作。

人们到处都用它来导航,但我希望点击打开一个子数据表。根据我在该列中单击的行,必须出现相应的数据表。

这可以在primefaces中使用吗,如果可以,我该如何进行?谢谢

0 投票
1 回答
17574 浏览

java - 点击 p:commandLink 打开 p:confirmDialog

我试图在单击 PrimeFace CommandLink 时打开 PrimeFace ConfirmDialog。但是当点击链接时,对话框会打开一会儿但立即消失,我猜页面正在被提交。这是代码:

如何使对话框以这种方式保持打开状态?

PrimeFace ShowCase中,该示例处理 CommandButton 并且可以正常工作,但我的要求是使用 CommandLink。

是否可以?任何指针都会对我很有帮助。

0 投票
1 回答
4658 浏览

jsf-2 - Primefaces 3.4:带有 f:setPropertyActionListener 的 DataTable 和 CommandLink 列抛出 javax.el.E​​LException: java.lang.IllegalArgumentException

我有这个数据表,其中包含一个客户列表和一个 Edit commandLink 列。我需要打开一个对话框来显示客户端的数据,并且我正在尝试使用 f:setPropertyActionListener 将 Client 对象发送到 bean 对话框,使用用于 dataTable 行的变量cli :

但是当我点击编辑按钮时,会抛出这个错误:

java.lang.IllegalArgumentException:无法将 java.lang.String 类型的 test.Client@95 转换为 test.Client 类

我确定 clientBean.client 是 Client 类型,它的 getter 和 setter 是正确的。

是否可以以任何方式引用 dataTable 变量?我需要实现一个转换器来完成这个任务吗?

任何帮助我将不胜感激,谢谢。

0 投票
0 回答
647 浏览

jsf - 带有获取请求的 JSF CommandLink

目前我的 webapp 存在严重问题,因为它在 web 代理 ISA Server 2006 后面有奇怪的行为。我发现问题是因为我使用 h:links 来调用一些页面,而 ISA 从中进行缓存。我将 h:link 更改为 h:commandLink 但缓存是相同的。用萤火虫调试请求我发现:

第一个是我点击的页面,第二个是我想去的页面。1.我不明白为什么有2个请求?2.我不知道为什么命令正在发送GET请求?

有谁能够帮我.... ????

0 投票
1 回答
722 浏览

ajax - JSF:只能使用带有 ajax 命令的 sessionscoped 视图link

场景:我想通过使用 commandLink 使用 AJAX 在 JSF 中部分执行和呈现表单的一部分。由于这将通过 AJAX 完成,据我了解,ViewScoped 应该在 AJAX 请求之间保存页面中组件的值。

我在下面创建了一个示例,其中我有一个输入框,其中输入了订单名称,按下 commandLink(标记为“输入订单”),来自 inputText 的订单名称被添加到名为“订单”的 ArrayList 中,并且“订单”显示在 CommandLink 下方的数据表中。

来自 CommandLink 的 AJAX 请求执行将字符串值添加到“orderName”变量的 inputBox。AJAX 请求向 processDataTable() 方法发送一个 ActionEvent,该方法获取“orderName”值并将其添加到“orders”列表中。然后“orderName”为空。然后,AJAX 请求呈现带有为空的“orderName”的 inputText 组件,以及显示所有先前输入的订单的 DataTable,包括来自该请求的新添加的“orderName”。

问题:如果我使用的是 SessionScoped bean,则代码有效,但如果我使用 ViewScoped bean,则代码无效。我在代码中添加了 System.out.println() 以查看发生了什么。如果我使 bean SessionScoped,那么一切都按计划进行。inputText 值是通过 set 方法设置的,processOrder() 方法将“orderName”String 添加到“orders”List 中,重新渲染DataTable 以显示这个添加的名称。...

对于 ViewScoped bean,“orderName”值设置为 InputText 组件的值,但在 ProcessOrder() 方法内部为“null”,将“null”添加到“orders”列表,DataTable 没有除空外显示。

如果我在添加“orderName”之前使用 orders.add("Some Name") 在 processOrder() 中手动添加 orderName,则“orders”将保留 {"Some Order", "null"} 并更改 Orders仍然没有使用 AJAX 重新渲染。

所有都适用于 SessionScoped bean 而不是 ViewScoped bean?我还尝试了使用 CommandLink 而不是 ActionListener 的 Action 属性,同样的故事.. 适用于 SessionScoped 但不适用于 ViewScoped。

我在这里只能想到两件事,1)我错过了 AJAX 和 CommandLink 如何协同工作的关键点,以及 ViewScoped 应该如何工作(很有可能);或 2) 出于某种原因,我如何使用 CommandLink 提交 AJAX 调用,每次单击它都会刷新页面,从而删除“订单”列表的先前值。但是,这仍然不能解释为什么如果我手动将订单输入到列表中,它仍然不会在 AJAX 请求中使用 ViewScoped bean 呈现,而是会使用 SessionScoped bean。

请帮忙!!??

这是我的代码:

这是我的 jsf 页面:

0 投票
1 回答
3150 浏览

jsf-2 - p:commandlink 里面的 ui:repeat

在我们的应用程序中,我们动态显示菜单。我们的菜单对象(下面代码中的菜单项)填充了所有菜单项(从 xml 读取)。然后主页通过使用 ui:repeat 生成菜单。Insdie ui:repeat 还有p:commandlink。下面是代码

menuitems bean 处于会话级别。ui:repeat 中有两个不同的 p:commandlink。两者之间的唯一区别在于样式类和渲染属性。这样做是为了在用户第一次登录时识别默认菜单项并为其提供额外的“activeLink”css。下面给出了 onclick 调用的 java 脚本(如果需要)

removeAllChannels 是为了删除我们拥有的 primepush 自动刷新通道。

我面临的问题是这个。所有链接都正确呈现,在 Firebug 中我看到所有链接都具有相同的 html。但是使用额外的 css“activeLink”(通过渲染条件 -- menuitems.selectedLevel1.id==node.id)生成的那个不起作用。当我单击此默认链接时,没有任何反应。所有其他链接工作正常。因此,当我单击不同的链接时,它会将我带到所需的页面。但是当我返回默认菜单时,什么也没有发生,我添加了一个自定义阶段侦听器,并看到单击此链接时调用了所有生命周期阶段,但操作方法没有。我浏览了这个这个的链接,但无法找出问题所在。请帮忙。如果有不清楚的地方请告诉我

0 投票
2 回答
1155 浏览

datatable - p:subTable 标头中的 p:commandLink 仅针对第一个 p:subTable 触发

我需要在 subTable 标题中显示一个命令链接。页面正确呈现,但是只有第一个命令链接会触发并调用操作方法。所有后续命令链接都不会调用操作方法。我查看了前两个锚元素的 html 源代码。生成的 id 略有不同。第一个链接的 id 在 j_dt68 之后没有数字,而第二个链接的 id 有 j_dt68:0。不确定它是否重要。请帮忙!

0 投票
2 回答
330 浏览

jsp - 使用 CommandLink 在 JSF 中显示值

我正在 JSF 中创建一个 CRUD 应用程序。在此处输入图像描述 我已经使用了 MovieName 和RespectiveID.The Moviename 在标签中。CommandLink现在我希望如果有人点击电影,它将显示相应电影的详细信息。如果是 PHP,我可以轻松附加IDparameter movieDetail.php?id=12使用它来查询 DB。但是据我所知,在 JSF 中我们使用actionLIstener并调用了一个 bean 函数。除了查询以显示结果之外,我不知道我会在 bean 函数中写什么......任何可以帮助我的人谢谢

0 投票
0 回答
458 浏览

jsf - JSF - 将对象发送到 bean 参数

我正在学习 JSF,当我将对象发送到 bean 参数时,对象的实例不正确。

我有一个列出很多电影的页面,如果我想查看有关电影的完整信息,我单击一个链接,将我发送到包含以下代码的页面:

电影 bean 有一个请求范围。

问题是,当我单击“共享”时,我的班级sharedMovie会收到一个新实例Movie,而不是页面中显示的电影。所有显示的数据都是正确的,只有当我调用其他页面时才会发生此问题。

f:setPropertyActionListener我已经尝试使用,仅发送电影 ID(但它始终为 0)f:param,但没有任何效果。如果我调试我的项目,当我单击共享链接时,它总是会在 Movie 类的构造函数中遇到断点。

我怎样才能正确传递这个实例?

0 投票
1 回答
1633 浏览

jsf - 之间的不一致行为

我有一个删除确认对话框:

您会注意到deleteActionConfirmed按钮和deleteActionConfirmedLink链接具有完全相同的操作、流程、更新和完成属性。但是,链接按预期工作,按钮什么也不做。查看生成的标记:

您可以看到没有为按钮生成 onclick,其中有链接。我错过了什么还是这是primefaces中的错误?如果是错误,除了使用带有样式的链接使它们看起来像按钮之外,还有其他解决方法吗?

我在 tomcat 6.0.32(servlet 2.5,el 2.1)上使用 mojarra 2.1.14 和 primefaces 3.4.2。