无法从backing bean方法返回arraylist

时间:2012-04-10 07:40:04

标签: java javascript netbeans xhtml

我想从javascript函数(在xhtml中)从支持bean中的arraylist的值初始化数组。我能够单独访问arraylist元素

s2='#{sel_bean.retarr1(0)}';
alert(s2);

其中retarr1()是bean中的一个方法,它返回arraylist的第i个元素但是当我试图在for循环中执行它时它只返回第0个元素。

for(i=0;i<s1;i++)
{
  alert(i);
  alert('#{sel_bean.retarr1(i)}');
  s2='#{sel_bean.retarr1(i)}';
  distarr.push(s2);
} 

1 个答案:

答案 0 :(得分:0)

假设您正在使用JSF读取

之间的行

您可以使用jsf ui:repeat创建数组推送操作:

<ui:repeat value="#{msel_bean.retarr1}" var="item">
  <h:outputText value="distarr.push(#{item})" />
</ui:repeat>

另一种变体是使用ui:repeat初始化数组:

var distarray = [
     <ui:repeat value="#{msel_bean.retarr1}" var="item">
       <h:outputText value="'#{item}', " />
     </ui:repeat>
];

请注意,您只会获得一个字符串数组。