Class CategoryAction:
public class CategoryAction extends ActionSupport {
private String catName;
private String dispName;
// getter and setter
}
等级认可:
public class GAction extends ActionSupport {
private String category; // contains a
private ArrayList<CategoryAction> catList; // contains a b c d e
//getter and setter
}
在我的jsp页面中,我想检查当前类别。
在JSP页面中调用GAction之后,我输入了以下代码但是如果部分没有执行:
<s:iterator var="cat" value="catList">
<s:if test="%{#category.equealIgenoreCase(#catName)}">
if part
</s:if>
<s:else>
else part
</s:else>
答案 0 :(得分:1)
类别不应该是一个行动;一个Action应该处理表示层,而Category是一个包含数据的简单POJO。
equealIgenoreCase有两个语法错误......
修改如下:
对象类别
public class Category {
private String catName;
private String dispName;
/getter and setter
}
行动类
public class GAction extends ActionSupport {
private String category; //contains a
private ArrayList<Category> catList;//contains a b c d e
//getter and setter
}
JSP
<s:iterator value="catList" var="cat">
<s:if test="category.equalsIgnoreCase(catName)">
if part
</s:if>
<s:else>
else part
</s:else>
答案 1 :(得分:0)
@Andrea Ligios是正确的,你应该改变模态,他的方法也是正确的。
<s:iterator var="catVar" value="%{catlist}">
<s:if test ="%{category.equalsIgnoreCase(#catVar.categoryName)}">
if condition <br/>
</s:if>
<s:else>
else condition <br/>
</s:else>
</s:iterator>
%是访问存储在Value-stack
中的值的方法