2013-03-15 72 views
1

我有以下代码:OGNL '在' 语句不按预期

<s:iterator value="primaryDataSources" var="includedPrimaryDataSource"> 
    <s:property value="%{includedPrimaryDataSource in primaryDataSources}"/> 
</s:iterator> 

与primaryDataSources是在我的动作类初始化一个ArrayList:

List<String> primaryDataSources = new ArrayList<String>(Arrays.asList(new String[]{"SE", "QBP", "Olympic", "J&B"})); 

当自身的I输出primaryDataSources像这样:

<s:property value="%{primaryDataSources}"/> 

它输出[SE,QBP,Olympic,J & B]

我希望'in'ognl语句总是返回true,但它总是假的......任何想法我做错了什么?

回答

1

你缺少#引用您的includedPrimaryDataSource,也没有必要%{...}<s:property>标签。

<s:iterator value="primaryDataSources" var="includedPrimaryDataSource"> 
    <s:property value="#includedPrimaryDataSource in primaryDataSources"/> 
</s:iterator> 
+0

谢谢你的工作!我会尽快接受堆栈溢出让我...这有点令人困惑,因为我可以输出没有问题... – Brian 2013-03-15 12:20:46