package no.northcreek.mabjo;
import javax.annotation.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;
@ManagedBean
@RequestScoped
public class indexBean {
@ManagedProperty(value="defaultValue")
private String firstName;
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
}
以上是我期望创建firstName成员变量的代码,其默认值为“defaultValue”。但是该值为null。为什么呢?
答案 0 :(得分:1)
似乎你误解了 @ManagedProperty的使用
@ManagedProperty注释用于将托管bean依赖注入(DI)到另一个托管bean的属性中。
并注意 value 应指向ELxpression,如下所示:value="#{someBean}"
在您的情况下,您应该执行以下操作
private String firstName = "defaultValue";
OR
在firstName
@PostConstruct
的值
@PostConstruct
public void init() {
firstName = "defaultValue";
}
看一下这个例子......