【问题标题】:How to iterate over a list in a textarea using JSF? [duplicate]如何使用 JSF 遍历文本区域中的列表? [复制]
【发布时间】:2016-08-06 21:36:31
【问题描述】:

我是 JSF2 的新手,对前端开发的了解非常少。目前我正在尝试使用 JSF2 遍历文本区域中的列表?我们有一个像 aList[bean1,bean2,bean3,....] 这样的数据列表,我们必须打印数据

<h:inputTextarea var ="list" value="#{Bean.value}">
row1-> datas of bean1
row2-> datas of bean2
like all the datas in the list 
</h:inputTextarea>

我搜索了很多,但没有得到正确的信息,请帮助我。

【问题讨论】:

  • 您的问题很奇怪。您希望结构化数据显示在可编辑的非结构化 input 组件中。并且 value 属性可以指向任何你想要显示的文本格式/样式/...。所以你的问题根本不是 jsf/icefaces 相关的,而是普通的 java...
  • 我们要打印结构化数据并具有只读属性,因此无法对其进行编辑。在控制器层,我们有一个列表,其中包含我上面显示的格式的数据,因此在视图层中,我们有一个要显示在文本区域或表格中的列表,但条件是在打印一个元素的所有值之后list 的第二个元素应该从新行开始。
  • 那你为什么要使用textarea呢?它仍然无非是迭代一个列表,其中 stackoverflow 有多个问题和答案

标签: jsf icefaces


【解决方案1】:

如果你想为不同的行显示不同的 textArea 你可以写成:

    <h:form id="test">
           <h:panelGrid value="#{testController.myRows}" var="myVar">
            <h:inputTextarea value="#{myVar}"/>
           </h:panelGrid>    
   </h:form>

虽然你也可以使用 datalist 来代替 panelGrid

【讨论】:

    【解决方案2】:
    <ace:panel id="jPanel5" style="text-align:left;border:0;width:100%;">
                                <h:outputLabel id="message" value="#{msgs['css.Label.message']}" styleClass="css-lebel">
                                </h:outputLabel>
    
                                <ice:panelSeries var="item" value="#{Bean.searchResultArea}" style="border:1px solid black;width:1150px;height:400px;overflow-y:scroll;overflow-x:scroll;">
                              <h:outputText value="#{item}&lt;br/&gt;&lt;br/&gt;"  style="white-space: nowrap;" escape="false" />
    
                                </ice:panelSeries>
    
    </ace:panel>
    

    我确实喜欢这个并且得到了正确的输出。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-09-06
      • 2012-09-23
      • 2011-02-28
      • 1970-01-01
      • 1970-01-01
      • 2017-09-22
      • 2020-08-09
      相关资源
      最近更新 更多