- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有以下代码:
<h:panelGroup rendered="#{userTypeController.permissionItemsUserType.contains(item)}">
<h:selectBooleanCheckbox valueChangeListener="#{userTypeController.permissionChanged(this)}" value="#{true}"/>
<h:outputText value="#{item.getAction()}" />
</h:panelGroup>
<h:panelGroup rendered="#{!userTypeController.permissionItemsUserType.contains(item)}">
<h:selectBooleanCheckbox value="#{false}"/>
<h:outputText value="#{item.getAction()}" />
</h:panelGroup>
但由于某种原因,从未调用 permissionChanged 方法。有什么可能出错的想法吗?
我的 permissionChanged 方法:
public void PermissionChanged(ValueChangeEvent event) {
System.out.println("test");
}
最佳答案
存在三个问题:
您在 EL 中的监听器方法调用是错误的。您不应该将当前组件传递给它。
替换
valueChangeListener="#{userTypeController.permissionChanged(this)}"
通过
valueChangeListener="#{userTypeController.permissionChanged}"
您在支持 bean 中的方法签名是错误的。它应该符合 Java naming conventions .
替换
public void PermissionChanged(ValueChangeEvent event) {
通过
public void permissionChanged(ValueChangeEvent event) {
您似乎期望它在您单击复选框时立即触发(否则您会看到 ELException
)。这种期望是不正确的。它只会在您提交表单时被触发。使用 onclick="submit()"
是一个常见的黑客/解决方法。
也就是说,可能有更好的方法。由于功能需求不明确,无法提出正确的解决方案。我认为 <f:ajax>
如果您想要的只是即时和异步的反馈和重新渲染,这就是您正在寻找的。尽管您的问题中缺少 JSF 2.0 标记,但根据您的问题历史记录,您使用的是 JSF 2.0,因此 <f:ajax>
应该适合你。
关于java - 从未调用过 valueChangeListener,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8215008/
我有以下代码:
这是我在托管 bean 中的代码:- Facelet Title Se
如何在数据表中使用 UIInput 组件正确实现 ValueChangeListener,然后我进入监听器方法获取行索引已更改、新值和旧值 变化,不一定产生POST到Server,Post
我正在使用 p:ajax监听器处理值更改事件(因为 valueChangeListener 在表单提交时启动): 处理方法: public void onNameChanged(final Ajax
我的 JSF 页面有两个下拉列表,我想根据第一个下拉列表中选择的值加载第二个列表。但是,仅在我第二次更改选择时才检测到“onchange”事件! 网页代码片段:
我对 ValueChangeListener 有疑问.我有这个代码: private void caricaSelectMainUser(){ Object[] a = socFilName.
我查看了其他类似的帖子,但没有任何帮助。这是我的代码: function submit1() { document.forms["form"].submit(); }
我正在学习如何在 JSF 中使用事件。出于某种原因,当我更改下拉菜单的值时,程序没有更改文本字段中的值。该页面加载并显示“德国”,但不会将文本字段更改为“DE”。有什么建议吗? 索引.xhtml:
我们有一个自定义的 JSF 组件,它以特定方式呈现一些按钮和一个选择框。这是由扩展 UIInput 的类完成的。 xhtml 模板中使用的自定义组件如下所示: 现在,由于我们从运行 JSF 2.0
我有一个简单的 ice:SelectOneMenu 和一个 ice:outputLabel 我想做的就是更改下拉列表中的值以设置我的文本标签告诉我我更改了值以及新值是什么(简单测试,一旦它起作用,我实
我正在尝试 vaadin 网站上提供的教程,当我在表的行上设置项目选择时,教程建议我应该将以下行添加到我的表类中。 addListener((Property.ValueChangeListener)
摘要: JSPX 页面中有一个input File功能,用户可以在其中选择要上传的文件。用户将按保存按钮将文件存储在数据库中。 工作流程: 当用户选择要上传的文件时,valueChangeListen
我正在使用 jDeveloper 12.1.3 和 MAF 2.0.0.0。我正在尝试在移动应用程序中build设置页面。所有项目均基于移动设备上的本地 SQLite 数据库。我已经设置了 POJO(
嗨,我正在与 oracle-adf 合作使用 Jdeveloper。我尝试使用 valuechangelister
假设我像这样定义一个 ComboBox: ComboBox myCombo = new ComboBox(); myCombo.addValueChangeListener(event -> {
我有一个自定义组件,想要向其中添加一个 ValueChangeListener。但我的注册方法有问题。 这是我的自定义组件。 public class CustomComp extends CssLa
它可以很好地加载stateList,但是当我更改状态的值时,它会调用backbean,但addressBO为空。我该如何修复它?还有其他办法吗? 提前致谢。 BackBean
在许多情况下,我需要在运行时在应用程序的许多地方使用某些 UIComponent 的值。但问题是我无法在 ValueChangeListener 之外访问组件的值。我尝试将此值存储在本地临时变量中,我
我调用 valueChangeListener在 上它在数据表中。并且该数据表再次位于另一个(外部)数据表内。在valueChangeListener方法我想要外部dataTable的实例对象。有没
我正在尝试为我的 Web 应用程序实现审计跟踪功能,该功能记录: lastModified(时间戳) modifiedBy(用户信息) userComment(值变化的原因) 对于我的每个输入字段(输
我是一名优秀的程序员,十分优秀!