0

类 CategoryAction:

public class CategoryAction extends ActionSupport {
    private String catName;
    private String dispName;
    // getter and setter 
}

GAction 类:

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>
4

2 回答 2

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>
于 2012-12-22T14:38:44.523 回答
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>

% 是访问存储在值堆栈中的值的方法

于 2012-12-23T03:01:20.303 回答