java - JSF 错误:目标无法访问,标识符“bean”解析为 null
问题描述
我在 Java EE 中使用 CDI,但它似乎不起作用。
我有一个非常简单的示例,其中包含 2 个文本字段。输入名称并提交时,输入的名称应出现在下一页上。
但相反,我收到以下错误:
HTTP Status 500 - Internal Server Error
javax.servlet.ServletException: /index.xhtml @12,72 value="#{userBean.firstName}": Target Unreachable, identifier 'userBean' resolved to null
javax.el.PropertyNotFoundException: /index.xhtml @12,72 value="#{userBean.firstName}": Target Unreachable, identifier 'userBean' resolved to null
javax.el.PropertyNotFoundException: Target Unreachable, identifier 'userBean' resolved to null
这些是我的 3 个文件:
索引.xhtml
<h:form>
<h:panelGrid columns="2">
<h:outputLabel value="First name" for="firstName"/>
<h:inputText id="firstName" value="#{userBean.firstName}"/>
<h:outputLabel value="Last name" for="lastName"/>
<h:inputText id="lastName" value="#{userBean.lastName}"/>
<h:commandButton action="result" value="send"/>
</h:panelGrid>
</h:form>
结果.xhtml
First name: #{userBean.firstName}
Last name: #{userBean.lastName}
用户Bean.java
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
@Named
@RequestScoped
public class UserBean {
private String firstName;
private String lastName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
}
解决方案
推荐阅读
- javascript - 导航到 /home 或新页面时看不到 html 页面。仅显示索引
- python - 在 CSV 中使用 Pandas
- java - Hibernate 进行 N+1 查询以在超类中初始化惰性集合
- javascript - 使所有属性可枚举
- javascript - 为什么过滤时找不到文档?
- android - 为什么 Android 模拟器 29.2.0 在 Gnu/Linux 下运行时会崩溃?
- java - 为什么我的随机数组没有在每次渲染上绘制随机纹理?我必须改变什么?
- machine-learning - 如何计算卷积神经网络中的偏差梯度?
- gstreamer - rtpvp8depay + rtpvp8pay 似乎在 Janus 网关上引入了工件
- javascript - 为什么我可以做 array[3].toUpperCase(),但是当 n=3(或任何 num)时 array[n].toUpperCase() 错误