【问题标题】:Primefaces InputTextarea set maxlength conditionallyPrimefaces InputTextarea 有条件地设置 maxlength
【发布时间】:2017-10-24 14:25:47
【问题描述】:

我想定义一个自己的依赖于 Primefaces InputTextarea 的 textarea 组件。我只想在我的 textarea 组件中设置p:inputTextarea 的最大长度。

我只想在p:inputTextarea 组件上设置最大长度,前提是该属性可用。我尝试了以下操作:

<p:inputTextarea maxlength="#{maxlength not empty ? maxlength : null}"...>

如果设置了值,则此方法有效,但未设置时,primefaces 组件的值设置为 0,因此无法输入。

我尝试过的另一种方法是设置属性如下:

<c:if test="#{not empty maxlength}">
    <f:attribute name="maxlength" value="#{maxlength}"/>
</c:if>

但这给了我一个例外,当设置了 maxlength 时:

ServletException: java.lang.String 无法转换为 java.lang.Integer

如果属性是在我自己的组件中定义的,如何设置?

【问题讨论】:

    标签: primefaces jsf-2


    【解决方案1】:

    我找到了解决方案,我应该在 inputTextarea 周围使用c:if

    <c:if test="#{not empty maxlength}">
        <p:inputTextarea maxlength="#{maxlength not empty ? maxlength : null}" ...>
    </c:if>
    
    <c:if test="#{empty maxlength}">
        <p:inputTextarea ...>
    </c:if>
    

    【讨论】:

      猜你喜欢
      • 2012-10-01
      • 2016-08-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-02-10
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多