JSF对bean的输入不起作用

时间:2017-05-03 15:18:30

标签: jsf ejb

您好我正在努力实现一些非常基本的功能并且在过程中失败。我想将用户名和密码从JSF传递给bean,然后在bean的方法中使用它们将用户添加到数据库。不完全输入根本无法到达bean,我得到j因为密码和登录都不能为空。 Log4j日志显示参数确实为空

javax.ejb.EJBTransactionRolledbackException

以下是JSF的代码

[2017-05-03T16:50:18.948+0200] [Payara 4.1] [INFO] [] [] [tid: _ThreadID=32 _ThreadName=http-thread-pool::http-listener-2(1)] [timeMillis: 1493823018948] [levelValue: 800] [[

  464239 [http-thread-pool::http-listener-2(1)] DEBUG pl.lodz.p.it.ssbd2017.ssbd06.mok.facades.AbstractFacade  - log4j: login null]]



[2017-05-03T16:50:18.949+0200] [Payara 4.1] [INFO] [] [] [tid: _ThreadID=32 _ThreadName=http-thread-pool::http-listener-2(1)] [timeMillis: 1493823018949] [levelValue: 800] [[

  464240 [http-thread-pool::http-listener-2(1)] DEBUG pl.lodz.p.it.ssbd2017.ssbd06.mok.facades.AbstractFacade  - log4j: passwordnull]]

,这里来自bean

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
      xmlns:h="http://xmlns.jcp.org/jsf/html"
      xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
      xmlns:f="http://xmlns.jcp.org/jsf/core">
<body>
<f:view>
    <h:form>
        <h:outputLabel value="LOGIN: "/>
        <h:inputText value="#{createBean.login}"/>
        <h:outputLabel value="PASSWORD : "/>
        <h:inputText value="#{createBean.password}"/>
        <h:commandButton value="Register" action="#{createBean.create()}"/>

    </h:form>

</f:view>
</body>
</html>

任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

好的,非常感谢帮助,因为事实证明你对javax.enterprise.context.RequestScoped是正确的。在jsf开始神奇地工作之后我检查了我的存储库中的先前的命令并且diff告诉我之前我正在使用javax.faces.bean.RequestScoped,虽然我不记得更改它。现在它工作得很好。

再次感谢并保重!