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

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

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

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

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

   <Функция>
       ...
       <Функция подписи> java.lang.String
       getStatusString (org.example.Outer.ArticleAndStatus)
       ...
   </ Функция>
   <Функция>
       ...
       <Функция подписи> java.lang.String
       getStatusString (org.example.Outer $ ArticleAndStatus)
       ...
   </ Функция>
13.10.2009 11:07:03
опубликовать код для определения Outer и как вы определили ArticleAndStatus внутри него. Просто продолжая то, что я вижу, я подозреваю, что вы не сделали публичный внутренний класс?
Chii 13.10.2009 12:30:24
3 ОТВЕТА
РЕШЕНИЕ

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

1
9.10.2013 15:04:12
Какое было разрешение? Это ошибка была определена?
user130532 17.09.2010 17:18:03

org.example.Outer.ArticleAndStatus

1
13.10.2009 11:20:06
Не работает: org.apache.jasper.JasperException: PWC6300: класс org.example.Outer.ArticleAndStatus, указанный в сигнатуре метода в TLD для функции неблагоприятный: getStatusString не найден. org.example.Outer.ArticleAndStatus
Artefacto 13.10.2009 11:23:56
скорее всего, org.example.Outer.ArticleAndStatus не является публичным. Но от вопроса слишком мало, чтобы сказать наверняка.
Chii 13.10.2009 12:31:32

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

0
27.03.2011 16:59:40