【问题标题】:Primefaces7: How to use formular inputs as function parametersPrimefaces 7:如何使用公式输入作为函数参数
【发布时间】:2019-04-01 13:54:05
【问题描述】:

我想直接使用用户输入实现登录功能(在处理 bean 时没有变量)。

迁移到 Primefaces 后,xhtml 代码不再起作用。

<h:form>        
    ...
            <h:outputLabel for="mail" value="Email:" />
            <p:inputText id="mail" value="#{mail}" required="true"/>
            <h:outputLabel for="password" value="Passwort:" />
            <p:password id="password" value="#{password}" required="true"/>

                <p:commandButton value="Anmelden" update="loginGrowl" action="#{user.login(mail.value,password.value)}"/>
           ...
    </h:form>

它给出了错误:

WARNUNG: #{user.login(mail.value,password.value)}: javax.el.PropertyNotFoundException: /index.xhtml @43,122 action="#{user.login(mail.value,password.value)}": Property [value] not found on type [java.lang.String]

【问题讨论】:

  • 从 WHAT 迁移到 PrimeFaces 之后?它是否仅适用于 h:* 组件?
  • 很可能原始代码使用了binding 而不是value,这在“迁移”期间无法理解。

标签: jsf primefaces xhtml


【解决方案1】:

事实证明,“邮件”和“密码”实际上是输入字符串。所以以下将起作用(JSF 2.3;PrimeFaces 7.0):

<h:form>        

        <h:outputLabel for="mail" value="Email:" />
        <p:inputText id="mail" value="#{mail}" required="true"/>
        <h:outputLabel for="password" value="Passwort:" />
        <p:password id="password" value="#{password}" required="true"/>

        <f:facet name="footer">
            <p:commandButton value="Anmelden" action="#{user.login(mail,password)}"/>
        </f:facet>


</h:form>

我不知道他们什么时候更改了它,也找不到任何记录的内容,所以我将把问题留在这里,由我自己回答,以供可能偶然发现的任何人使用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-11-20
    • 1970-01-01
    • 1970-01-01
    • 2018-07-25
    • 1970-01-01
    • 2021-06-12
    • 2017-11-06
    相关资源
    最近更新 更多