1.UserBean.java
public class UserBean {
String userid;
String password;
@Named("userBean")
@RequestScoped
public String getUserid() {
return userid;
}
public void setUserid(String userid) {
this.userid = userid;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}}
2.Login.xhtml the page users enter the id and password
3.Welcome.xhtml when user click the submit button, the page comes
4.faces-config.xml中 faces-config.xml
正如您所看到的,我没有在“faces-config.xml”文件中配置托管bean,我只是在我的“UserBean.java”中使用“@Named(”userBean“)”和“@RequestScoped” “用于配置bean的文件。
1.我在网站上打开login.xhtml
2.当我点击按钮提交数据时,会显示此页面:
这些天我开始学习JSF,我需要弄清楚许多困惑的事情,非常感谢你能给我一些关于这个问题的笔记或指导^ _ ^
(Ps.This这是我在stackoverflow上提出的第一个问题,所以我无法直接上传图片,如果你看不到hperlinks的图片,请告诉我。谢谢!)
答案 0 :(得分:0)
您需要将@Named
bean注释设置为类而不是方法。
该错误基本上表示服务器无法找到托管bean类。所以你的代码应该是:
@Named("userBean")
@RequestScoped
public class UserBean {
String userid;
String password;
public String getUserid() {
return userid;
}
我看到了你的Welcome.xhtml。你应该使用#而不是$。 所以你的欢迎页面应该有这样的东西
<h:outputLabel value="#{userBean.password}" />
答案 1 :(得分:0)
在&#34; / WEB-INF&#34;下创建beans.xml文件,使用以下代码段替换beans.xml文件的现有代码:<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd"></beans>
还有一件事,你必须实现Serializble接口。