我正在尝试在 Tomcat 服务器上实现注册页面,但未创建支持 bean,当我单击提交按钮时,出现以下错误。
原因:javax.el.PropertyNotFoundException:目标无法访问,标识符“registerBean”在 org.apache.el.parser.AstValue.getType 的 org.apache.el.parser.AstValue.getTarget(AstValue.java:98) 处解析为 null (AstValue.java:82) 在 org.apache.el.ValueExpressionImpl.getType(ValueExpressionImpl.java:172) 在 com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:98)
这是RegisterBean.java
package com.please.beans;
import java.io.Serializable;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
@Named
@SessionScoped
public class RegisterBean implements Serializable{
private String emailAddress="3234234";
private String userName;
private String password;
public String getEmailAddress() {
return emailAddress;
}
public void setEmailAddress(String emailAddress) {
this.emailAddress = emailAddress;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public void doLogin(){
System.out.println("Test sucessful");
}
}
这是signup.xhtml
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://xmlns.jcp.org/jsf/html">
<h:head>
<title>Facelet Title</title>
</h:head>
<h:body>
Hello from Facelets
<h:form>
<h:outputText value="E-mail address" ></h:outputText>
<h:inputText id="emailaddress" value="#{registerBean.emailAddress}" required="true"></h:inputText>
<h:outputText value="Password"></h:outputText>
<h:inputSecret id="password" value="#{registerBean.password}"></h:inputSecret>
<h:outputText value="#{registerBean.emailAddress}"></h:outputText>
<h:commandButton action="#{registerBean.doLogin()}"></h:commandButton>
</h:form>
</h:body>
</html>