Java &引用;“未找到财产”;使用PrimeFaces远程命令
我正在尝试用更新素数面,我得到了一个Java &引用;“未找到财产”;使用PrimeFaces远程命令,java,jsf,primefaces,Java,Jsf,Primefaces,我正在尝试用更新素数面,我得到了一个javax.el.PropertyNotFoundException:Property'updatePermissions'未找到定义updatePermission属性时的异常 这是我的UI定义文件: <h:form> ... <h:selectOneMenu id="groupsList" value="#{permissionsToGroupsBean.sel
javax.el.PropertyNotFoundException:Property'updatePermissions'未找到
定义updatePermission
属性时的异常
这是我的UI定义文件:
<h:form>
...
<h:selectOneMenu id="groupsList" value="#{permissionsToGroupsBean.selectedGroup}" title="Select Group" onclick="updatePermissions()">
<f:selectItems value="#{permissionsToGroupsBean.allGroups}" />
</h:selectOneMenu>
....
<p:pickList
id="permissions"
value="#{permissionsToGroupsBean.permissionsPickList}"
var="permissionsPickList"
itemLabel="#{permissionsPickList}"
itemValue="#{permissionsPickList}" />
....
</h:panelGrid>
<p:remoteCommand name="updatePermissions" actionListener="#{permissionsToGroupsBean.updatePermissions}" update="permissions"/>
当我访问页面URL时,我得到:
javax.el.PropertyNotFoundException:在类型tld.company.admin.web.bean.PermissionsToGroupsBean上找不到属性'updatePermissions'
javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)
属性(BeanELResolver.java:279)
getValue(BeanELResolver.java:60)
com.sun.faces.el.DemuxCompositeELResolver.\u getValue(DemuxCompositeELResolver.java:176)
com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
org.apache.el.parser.AstValue.getValue(AstValue.java:118)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
com.sun.faces.facelets.el.ELText$ELTextVariable.toString(ELText.java:214)
com.sun.faces.facelets.el.ELText$ELTextComposite.toString(ELText.java:155)
com.sun.faces.facelets.compiler.CommentInstruction.write(CommentInstruction.java:77)
com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82)
com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183)
非常感谢您的帮助。actionListener=“#{permissionsToGroupsBean.updatePermissions}”
II不熟悉PrimeFaces的当前版本,但通常
actionListener属性将返回实现
actionListener接口的对象。因此,您的表达式将解析为
getUpdatePermissions()`它不存在,因此您将得到该消息
如果添加了该方法,您应该会发现返回值不是ActionListener
存在另一个问题
标记是否支持操作
属性?actionListener=“{permissionsToGroupsBean.updatePermissions}”
Im不熟悉PrimeFaces的当前版本,但通常
actionListener属性将返回实现
actionListener接口的对象。因此,您的表达式将解析为
getUpdatePermissions()`它不存在,因此您将得到该消息
如果添加了该方法,您应该会发现返回值不是ActionListener
存在另一个问题
标记是否支持操作
属性?更新权限(ActionEvent e)?更新权限(ActionEvent e)?找到了它。。。问题是Prime Faces由于某种原因不处理评论
我在问题中的帖子下面定义了一个被注释掉的动作监听器:
<p:remoteCommand name="updatePermissions" actionListener="#{permissionsToGroupsBean.updatePermissions}" update="permissions"/>
<!-- <p:remoteCommand name="updatePermissions" update="permissions">
<f:setPropertyActionListener value="#{selectedPermissions}" target="#{permissionsToGroupsBean.updatePermissions}" />
</p:remoteCommand> -->
找到了。。。问题是Prime Faces由于某种原因不处理评论 我在问题中的帖子下面定义了一个被注释掉的动作监听器:
<p:remoteCommand name="updatePermissions" actionListener="#{permissionsToGroupsBean.updatePermissions}" update="permissions"/>
<!-- <p:remoteCommand name="updatePermissions" update="permissions">
<f:setPropertyActionListener value="#{selectedPermissions}" target="#{permissionsToGroupsBean.updatePermissions}" />
</p:remoteCommand> -->
是的,它确实支持它。但是,根据prime faces文档,在没有属性的情况下也可以执行此操作。同样在这个问题中,您可以看到它在没有action listener属性的情况下完成了。我得到了同样的错误。@Simeon您链接的问题只是说明:
actionListener=“#{bookmarklet.loadImages}”
,这意味着loadImages
属性将定义actionListener(没有该方法的源链接,因此我只能在这里进行假设)。对于重命名的方法,您得到了相同的错误,这可能表明实际上,解析程序查找返回类型为ActionListener
(或子类)的namegetUpdatePerissions()
方法。由于该方法不会有这样的返回类型,解析程序仍然找不到它。是的,它确实支持它。但是,根据prime faces文档,在没有属性的情况下也可以执行此操作。同样在这个问题中,您可以看到它在没有action listener属性的情况下完成了。我得到了同样的错误。@Simeon您链接的问题只是说明:actionListener=“#{bookmarklet.loadImages}”
,这意味着loadImages
属性将定义actionListener(没有该方法的源链接,因此我只能在这里进行假设)。对于重命名的方法,您得到了相同的错误,这可能表明实际上,解析程序查找返回类型为ActionListener
(或子类)的namegetUpdatePerissions()
方法。由于该方法不会有这样的返回类型,解析程序仍然找不到它。
public void updatePermissions() {
getPermissionsPickList().setTarget(getPermissionsForSelectedGroup());
}