【问题标题】:Using <ui:repeat><h:inputText> for varStatus and index error [duplicate]使用 <ui:repeat><h:inputText> 处理 varStatus 和索引错误 [重复]
【发布时间】:2017-08-28 09:36:52
【问题描述】:

当我将 index 与 outputText 一起使用时,一切正常。

<ui:repeat id="topTenGrd" var="dream" value="#{dreamModifyBean.topDreams}" varStatus="status">
    <h:outputText class="dream-title uppercase" value="#{status.index}" />
</ui:repeat>

但是我更改了 outputText -> inputText 然后当单击屏幕上的任何按钮时,发生错误 PropertyNoWritableException。

<ui:repeat id="topTenGrd" var="dream" value="#{dreamModifyBean.topDreams}" varStatus="status">
    <h:inputText class="dream-title uppercase" value="#{status.index}" />
</ui:repeat>

知道为什么吗?

【问题讨论】:

  • 你在使用 Richfaces 吗?
  • @venkatraj:tks 征求意见。我不使用 Rickfaces。
  • 好的,然后参考上面的链接,它将帮助您解决您的问题。如果你使用 h:inputText,那么必须需要 getter 和 setter。在您的程序中,您没有使用封装。您直接从 ui:repeat varStatus 获取 h:inputText 的值。
  • 你不能设置 varStatus 索引属性...这不是它应该被使用的方式

标签: jsf jsf-2 facelets


【解决方案1】:

试试这个。

JAVA:

String indexs[] = new String[10]; // Need encaptulation

用户界面:

<ui:repeat id="topTenGrd" var="dream" value="#{dreamModifyBean.indexs}" varStatus="status">
    <h:inputText class="dream-title uppercase" value="#{dream}" />
</ui:repeat>

【讨论】:

  • 认为 这也会引发某种错误...value="{dreamModifyBean.indexs[status.index]}" 是在字符串的情况下应该使用的。查看重复的 Q/A
猜你喜欢
  • 1970-01-01
  • 2015-08-28
  • 2015-11-16
  • 1970-01-01
  • 2015-11-29
  • 2011-04-17
  • 1970-01-01
  • 1970-01-01
  • 2016-09-08
相关资源
最近更新 更多