在BackingBean中将没有变量的值从表单提交到方法

时间:2014-03-20 13:56:26

标签: java jsf jsf-2 primefaces

我有一个简单的表单,用户输入他的用户名和密码,在bean中检查值是否正确。

.xhtml

<p:outputLabel value="Username:" />
<p:inputText value="#{fooBean.username}" />

<p:outputLabel value="Passwort:" />
<p:password value="#{fooBean.password}" />

<p:commandButton value="Login" action="#{fooBean.check()}" />

fooBean

public void check() {
    if(username == "name" && password == "pass") {
        // do stuff
    }
}

现在我的问题是,是否有办法将inputTexts的值提交给函数check(String username, String password),而不必声明bean中的字段。

1 个答案:

答案 0 :(得分:2)

简单地:

<p:outputLabel value="Passwort:" />
<p:password value="#{password}" />

<p:commandButton value="Login" action="#{fooBean.check(username, password)}" />

可行,但可能扩大范围更好:

<p:outputLabel value="Passwort:" />
<p:password value="#{viewScope.password}" />

<p:commandButton value="Login" 
    action="#{fooBean.check(viewScope.username, viewScope.password)}" />