Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Primefaces InputExtArea有条件地设置maxlength_Primefaces_Jsf 2 - Fatal编程技术网

Primefaces InputExtArea有条件地设置maxlength

Primefaces InputExtArea有条件地设置maxlength,primefaces,jsf-2,Primefaces,Jsf 2,我想定义一个依赖于Primefaces InputExtArea的自己的textarea组件。我只想在我的textarea组件中设置p:inputTextarea的最大长度 仅当属性可用时,我想在p:inputExtArea组件上设置maxlength。我尝试了以下几点: <p:inputTextarea maxlength="#{maxlength not empty ? maxlength : null}"...> 如果设置了一个值,则此操作有效,但如果未设置该值,primef

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

仅当属性可用时,我想在p:inputExtArea组件上设置maxlength。我尝试了以下几点:

<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


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

我找到了解决方案,我应该在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>