0

我看过类似的问题,但没有一个解决方案有效。

我正在做一个 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,我不知道它是否会干扰某些东西并且不知道如何删除它。

4

1 回答 1

1

如果您使用 JSF ManagedBean 注释或任何 JSF 范围注释,如@RequestScopedor @SessionScoped,请确保它从javax.faces.bean包中导入。

有时代码补全会错误地从错误的包中导入。

现在,假设您的logIn()方法public void如下:

public void logIn() 
{
    //login code here 
}

您应该从 EL 中删除括号,因为 actionListener 属性已经需要一个方法表达式。

尝试:

<p:commandButton actionListener="#{userController.logIn}" value="Entrar"/>

我希望它有所帮助。

于 2012-05-25T19:37:03.190 回答