Объявите функцию в taglib, которая имеет в сигнатуре внутренний класс

StackOverflow https://stackoverflow.com/questions/1559554

  •  21-09-2019
  •  | 
  •  

Вопрос

Допустим, я хочу объявить функцию, имеющую эту подпись Java:

public static String getStatusString(ArticleAndStatus aas) {
    //...
}

и это ArticleAndStatus это внутренний класс org.example.Outer.

Как мне объявить это в taglib?Оба они терпят неудачу:

   <function>
       ...
       <function-signature>java.lang.String
       getStatusString(org.example.Outer.ArticleAndStatus)
       ...
   </function>
   <function>
       ...
       <function-signature>java.lang.String
       getStatusString(org.example.Outer$ArticleAndStatus)
       ...
   </function>
Это было полезно?

Решение

У меня та же проблема с использованием общедоступного статического внутреннего класса.Я бы сказал, что синтаксис - это точка.Возможно, здесь ошибка org.apache.jasper.compiler.

Другие советы

org.example.Outer.ArticleAndStatus

Не можете ли вы просто создать фиктивный интерфейс, который вы реализуете своим внутренним классом, и передать его в качестве параметра метода?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top