Java 检查struts2中jsp中的对象列表中是否存在对象
FeatureDetail.javaJava 检查struts2中jsp中的对象列表中是否存在对象,java,jsp,struts2,Java,Jsp,Struts2,FeatureDetail.java public class FeatureDetail{ private String featureId; private String featureName; // Their getter and setter methods. @Override public int hashCode() { return featureId.hashCode(); } @Override public boolean eq
public class FeatureDetail{
private String featureId;
private String featureName;
// Their getter and setter methods.
@Override
public int hashCode() {
return featureId.hashCode();
}
@Override
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
FeatureDetail other = (FeatureDetail) obj;
if (featureId == null) {
if (other.featureId != null)
return false;
} else if (!featureId.equals(other.featureId))
return false;
return true;
}
}
我有以下类(IndexAction.java)
类索引扩展了ActionSupport{
私人列表选择的功能;
私有列表功能;
//功能和选定功能的Getter和setter方法
}
功能是所有功能的列表。
selectedFeatures是所有选定功能的列表。
两个列表都有FeatureDetail对象
在我的jsp index.jsp中
<s:iterator value="features" var="feature">
<label><s:property value="#feature.featureName"/></label>
<s:if test="#feature in selectedFeatures">
<input type="checkbox" checked="checked"/>
</s:if>
<s:else>
<input type="checkbox"/>
</s:else>
</s:iterator>
我的问题是,即使selectedFeatures列表中有两个位于features中的对象(FeatureDetail对象),也只选中了一个复选框
实际要求是,我希望选中selectedFeatures列表中的值的复选框
selectedFeatures.contains(feature)
您尝试过这个吗?应该可以,我缺少一些东西+1 btwApart from它的getter和setter
我猜这是一个错误(两个列表都应该有getter和setter)@andreligios这两个列表我都有getter和setter。@更松散的selectedFeatures。contains(#feature)就是我要找的。谢谢。很有魅力
<s:iterator value="features" var="feature">
<label><s:property value="#feature.featureName"/></label>
<s:if test="#feature in selectedFeatures">
<input type="checkbox" checked="checked"/>
</s:if>
<s:else>
<input type="checkbox"/>
</s:else>
</s:iterator>