使用IntelliJ IDEA配置PrimeFaces

时间:2016-11-17 14:27:22

标签: intellij-idea primefaces

所以这是我第一次构建Java EE应用程序。我看了很多教程,但大多数都在使用eclipse。

所以问题是:

        <h:panelGroup layout="block">
            <p:commandButton ajax="false" action="#{loginBean.login()}"
                             styleClass="btn btn-info" value="Login" />
        </h:panelGroup>

当我启动Wildfly服务器并尝试访问登录页面时。如果没有 我得到登录方法后的括号:

班级&#39; LoginBean&#39;没有登录的属性。

如果我用括号试试。初始化页面时调用该方法,并且我得到username和pass的值为null的异常。 当我评论方法内容时,我得到了正确初始化的页面,但发生了另一个问题。 JSF组件如:

<h:panelGroup>
            <h3 class="loginTitle">#{msgs['default.title']}</h3>
</h:panelGroup>

渲染正确,但Primefaces组件

 <h:panelGroup layout="block">
            <p:inputText value="#{loginBean.username}" id="username"
                         styleClass="loginInputField" required="true"
                         requiredMessage="Username is required field">
                <p:watermark for="username" value="Username" />
            </p:inputText>
 </h:panelGroup>

以0px高度和宽度渲染。

这是我的LoginBean.java

公共类LoginBean实现Serializable {

private static final String SUCCESS_LOGIN_REDIRECT = "/pages/success?faces-redirect=true";
private static final String LOGIN_PAGE_REDIRECT = "/pages/login?faces-redirect=true";

private static final long serialVersionUID = 1L;

@Inject
private HttpServletRequest request;

private String username;
private String password;

@PostConstruct
public void init() {
    //TODO
}

public String login() {
    username = "";
    password = "";
    if(StringUtils.isBlank(username) || StringUtils.isBlank(password)) {
        FacesContext.getCurrentInstance().addMessage(null, new  FacesMessage("Invalid Credentials"));
        return "";
    } else if ("admin".equals(username) && "123".equals(password)) {
        request.getSession().setAttribute("LOGGED_USER", username);
        return SUCCESS_LOGIN_REDIRECT;
    }

    MessageUtils.addErrorMessage("login.error.invalid.credentials");
    return "";
}

public String logout() {
    request.getSession().invalidate();
    return LOGIN_PAGE_REDIRECT;
}

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;
}

}

最后这是我的项目结构https://github.com/M-Veselinov/Java-EE 我认为我在使用web.xml或其他配置文件时出错了,但我不知道是什么。 我会感激一些帮助。感谢。

客户来源:

<p:inputtext id="username" styleclass="loginInputField" required="true" requiredmessage="Username is required field">
                <p:watermark for="username" value="Username"></p:watermark>
</p:inputtext>

0 个答案:

没有答案