1

ArrayListタイプのオブジェクトを JSP ページに返すコントローラーがありますMyClass。ArrayList 内のオブジェクトは異なるクラスに属しています。たとえばMyClass1MyClass2それぞれが MyClass を拡張しています。forEach タグを使用してコレクションを反復処理し、フィールドのおかげで現在の要素タイプを取得できますが、特定のフィールドtypeMyClassアクセスしようとすると、MyClass1このエラーが発生しました。

javax.el.PropertyNotFoundException: Property 'noContentMessage' not found on type it.sei.core.rinterface.MyClass1.

これが私のコードです:

class MyClass {
    String type;
    String variable;
}

class MyClass1 extends MyClass{
    String someOtherField;
}

class MyClass2 extends MyClass{
    String noContentMessage;
}



<core:forEach items="${model.GraphList}" var="element" varStatus="index"> 
<script language="javascript" type="text/javascript">

 var  type = '${element.type}';
 switch (type)
            {
                case "type1":
                    {
                       var variable = '${element.variable}';

                    }
                    break;

                case "type2":
                    {
                       var message = '${element.noContentMessage}';

                    }
                    break;
             }
             </script>   
          </core:forEach>

では、なぜこれが起こっているのですか?JSTL でこの状況を処理することはできませんか?

4

1 に答える 1