【问题标题】:Openshif - JSF2.0, Primefaces4 e CDI Weld - Controller resolved to nullOpenshift - JSF 2.0,Primefaces 4e CDI Weld - 控制器解析为空
【发布时间】:2014-03-03 17:47:37
【问题描述】:

您好,我在使用 Openshift 时遇到问题。错误是:

javax.el.PropertyNotFoundException:目标无法访问,标识符“loginController”解析为 null

在我的 Tomcat7 和 Glassfish 上运行良好。我将 JSF 2.0 与 Primefaces 4 和 CDI Weld 一起使用。这是我的代码:

我的宝珠

public class Login {
    private int codigo;
    private String username;
    private String password;
    // getters and setters
}

我的控制器

import javax.enterprise.context.SessionScoped;    
import javax.inject.Inject;
import javax.inject.Named;
//others imports

@Named
@SessionScoped
public class LoginController implements Serializable {    
    private static final long serialVersionUID = 4560576357452534579L;    
    @Inject
    private LoginDAO loginDao;        
    private Login login;

    // others fields        
    // getters and setters of Login    
}

我的 JSF 页面

<p:inputText class="form-control" id="username" value="#{loginController.login.username}" />
<p:password class="form-control" id="password" value="#{loginController.login.password}" />

【问题讨论】:

    标签: java jsf-2 primefaces cdi openshift


    【解决方案1】:

    您正在注入 loginDao 但没有登录。然而,您正在引用登录。除非您在其他地方初始化登录,否则您将获得 NPE。

    【讨论】:

    • 抱歉忘记了这个,但是我的 getLogin 创建了一个登录 public Login getLogin() { if(login == null) login = new Login();返回登录; }
    猜你喜欢
    • 2020-03-08
    • 2020-07-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 2013-08-10
    • 1970-01-01
    相关资源
    最近更新 更多