Feb 17, 2022 10:06:40 AM com.sun.faces.lifecycle.InvokeApplicationPhase execute
WARNING: #{loginBean.validate}: javax.el.MethodNotFoundException: /index.xhtml @23,80 action="#{loginBean.validate}": Method not found: ritu.login.User@d570e4f.validate()
javax.faces.FacesException: #{loginBean.validate}: javax.el.MethodNotFoundException: /index.xhtml @23,80 action="#{loginBean.validate}": Method not found: ritu.login.User@d570e4f.validate()
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:110)
这是我的登录名。xhtml文件
<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en" xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://xmlns.jcp.org/jsf/core"
xmlns:h="http://xmlns.jcp.org/jsf/html"
xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
xmlns:p="http://primefaces.org/ui">
<body>
<h:form>
<p:panel header="Login">
<p:messages id="msgs" showDetail="true"/>
<h:outputText value="id" />
<h:inputText id="id" value="#{loginBean.id}"></h:inputText>
<h:message for="id"></h:message>
<br></br>
<br></br>
<h:outputText value="name" />
<h:inputText id="name" value="#{loginBean.name}"></h:inputText>
<h:message for="name"></h:message>
<p:commandButton action="#{loginBean.validate}" value="login" update="msgs" ></p:commandButton>
</p:panel>
<br></br>
<br></br>
</h:form>
</body>
</html>
这是我的课
package ritu.login;
import java.io.Serializable;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.persistence.Entity;
import javax.persistence.Id;
@Entity
@ManagedBean(name = "loginBean")
@SessionScoped
public class User implements Serializable{
private static final long serialVersionUID = -7250065889869767422L;
@Id
private Long id;
private String name;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String validate(Long id, String name) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/any", "root", "jaygurudev1@");
PreparedStatement ps = con.prepareStatement("Select id,name from user where id=? and name=?");
ps.setLong(1, id);
ps.setString(2, name);
ResultSet rs = ps.executeQuery();
if (rs.next()) {
return "index.xhtml";
} else {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_WARN,
"Incorrect Username and Passowrd", "Please enter correct username and Password"));
return "login.xhtml";
}
} catch (Exception e) {
System.out.println("in exception");
}
return "ok";
}
}
为什么会出现这个异常,这是什么意思?我以前在命令按钮中使用过h标签,但它不起作用
原因:javax。面孔。艾尔。MethodNotFoundException:javax。艾尔。MethodNotFoundException:/index。xhtml@23,80 action=“#{loginBean.validate}”:未找到方法:ritu。登录。User@d570e4f.validate()在javax。面孔。组成部分MethodBindingMethodExpressionAdapter。在com上调用(MethodBindingMethodExpressionAdapter.java:91)。太阳面孔。应用ActionListenerImpl。processAction(ActionListenerImpl.java:102)。。。还有29个原因:javax。艾尔。MethodNotFoundException:/index。xhtml@23,80 action=“#{loginBean.validate}”:未找到方法:ritu。登录。User@d570e4f.validate()在com上。太阳面孔。小脸蛋。艾尔。泰格的表情。在javax上调用(TagMethodExpression.java:109)。面孔。组成部分MethodBindingMethodExpressionAdapter。调用(MethodBindingMethodExpressionAdapter.java:87)。。。30多
2022年2月17日上午10:06:40。太阳面孔。上下文例外HandlerImpl日志1100:JSF1073:javax。面孔。在处理INVOKE_应用程序5时捕获到FacesException:UIComponent ClientId=,Message=#{loginBean.validate}:javax。艾尔。MethodNotFoundException:/index。xhtml@23,80 action=“#{loginBean.validate}”:未找到方法:ritu。登录。User@d570e4f.validate()2022年2月17日上午10:06:40。太阳面孔。上下文例外HandlerImpl日志
您必须在login.xhtml
中的#{loginBean.validate}
附近传递参数。
更改:
<p:commandButton action="#{loginBean.validate}" value="login" update="msgs" ></p:commandButton>
到:
<p:commandButton action="#{loginBean.validate(loginBean.id, loginBean.name)}" value="login" update="msgs" ></p:commandButton>
问题内容: 在NetBeans中,如何找出在哪里调用方法? 我在一个大型项目中有一个特定的方法,无法找到它的调用位置。 问题答案: 右键单击方法名称时,会出现“ 查找用法” 菜单项。 或将光标放在方法名称上,然后按+ (查找用法)和++ + (显示“查找用法”结果)。
当我将其更改为list时,出现以下错误: 这里是我的小部件构建: 对于API、模型和其他函数,您可以在未处理的异常中检查我的另一篇文章:键入“\u InternalLinkedHashMap”
我正在和Java8一起做项目,发现了一个我无法理解的情况。 我有这样的代码: 这段代码运行良好,但我可以使用方法引用重写它: 而这段代码没有编译,在方法引用中给出了不兼容的抛出类型*SomeException*。 IDEA还向我提供了错误
我在一个名为seedrecord的对象和一个名为FielliateLink的对象之间有一个manytomany关系。为了删除FielliateLink,我需要首先从每个SeedRecord的FielliateList中删除对它的引用。之后,我使用spring JParepository的delete方法删除对象。因为我的服务(FiniliateLinkService)中有不同的删除方法,所以我决定