我看过类似的问题,没有一个解决方案有效。
我正在进行Ajax调用,但我的方法永远不会被调用。
我在Chrome上遇到此错误:
GET http://localhost:8080/ERP.GUI2/views/user/login.html jquery.js.html:23
b.ajaxTransport.send jquery.js.html:23
b.extend.ajax jquery.js.html:23
PrimeFaces.ajax.Queue.offer primefaces.js.html:1
PrimeFaces.ajax.AjaxRequest primefaces.js.html:1
PrimeFaces.ab primefaces.js.html:1
onclick
我已经检查过,那些文件没问题,它们存在且路径正确,我可以在浏览器上打开它们。
这是我的按钮:
<p:commandButton actionListener="#{userController.logIn()}" value="Entrar"/>
有时错误只是:
Failed to load resource http://localhost:8080/ERP.GUI2/views/user/login.html
当我第一次运行代码时,没有报告错误,错误显示我单击调用方法的按钮时。
我不知道它是否重要,但我使用的是Eclipse并添加了JavaScript Resources
,我不知道它是否在干扰某些内容并且不知道如何删除它。
答案 0 :(得分:1)
如果您正在使用JSF ManagedBean批注或任何JSF范围批注,例如@RequestScoped
或@SessionScoped
,请确保从javax.faces.bean
包导入。
有时代码完成会错误地从错误的包中导入。
现在,假设您的logIn()
方法为public void
,如下所示:
public void logIn()
{
//login code here
}
你应该从EL中删除括号,因为actionListener属性已经需要一个方法表达式。
尝试:
<p:commandButton actionListener="#{userController.logIn}" value="Entrar"/>
我希望它有所帮助。