您好我正在努力实现一些非常基本的功能并且在过程中失败。我想将用户名和密码从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>
任何人都可以帮助我吗?
答案 0 :(得分:0)
好的,非常感谢帮助,因为事实证明你对javax.enterprise.context.RequestScoped
是正确的。在jsf开始神奇地工作之后我检查了我的存储库中的先前的命令并且diff告诉我之前我正在使用javax.faces.bean.RequestScoped
,虽然我不记得更改它。现在它工作得很好。
再次感谢并保重!