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を呼び出した後、次のコードを配置しましたが、partが実行されていない場合:

<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

カテゴリはアクションであってはなりません。アクションはプレゼンテーション層を処理することになっていますが、カテゴリはデータを含む単純なPOJOです。

また、equealIgenoreCaseには2つの構文エラーがあります...

次のように変更します。

オブジェクトカテゴリ

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 に答える