| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > instanceof в jsf. возможно ли? |
| Автор: Bandit 6.10.2009, 14:56 | ||
| Доброго времени суток форумчанам. Есть наивный вопрос... можно ли на странице jsf(jsp) каким-либо образом определять тип возвращаемого объекта? Например: у меня есть list с объектами одного родительского класса. я его итерирую.
есть ли возможность определить тип объекта aVal и повлиять на логику обработки? |
| Автор: ivanovpv 6.10.2009, 15:11 | ||
| Конечно можно. Все равно твой "aVal" - это некий атрибут, только надо понять какого он контекста (скорее всего страничного контекста) Попробуй иньекцию типа:
|
| Автор: Bandit 6.10.2009, 15:29 |
| А кроме иньекции java кода какие-нибудь возможности имеются? А то MVC побоку пойдет |
| Автор: magicfly 6.10.2009, 15:33 |
| про jsp: ну как минимум можно сделать это в скриплет тегах. Вполне возможно что для этого можно написать кастом тегю Upd: тогда точно сustom tag |
| Автор: ivanovpv 6.10.2009, 15:49 |
Лет 10 назад я также заморачивался такими священными темами, а потом понял что все это от лукавого. Основные критериями которыми надо реально заморачиваться, это: а) Щастье клиента б) Расширяемость кода в) Документация MVC - в этом списке проходит как подпунктик пункта б) - причем его вклад в этот пунктик наверное не более 1/3 Так что смело инжектируй. А иначе изобретай себе новые кастом теги, которые проверяет типы (а оно надо? |
| Автор: Bandit 6.10.2009, 17:24 |
| |
| Автор: Bandit 12.10.2009, 17:16 | ||
| Решил последовать данному совету... Сразу вывалился: java.lang.NullPointerException at jsp_servlet.__manual_record_details._jspService(__manual_record_details.java:371) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292) Truncated. see log file for complete stacktrace
проблема заключается в том, что NULL получается всюду... что я делаю не так? как мне закинуть rowDataUtils в pageContext? страшно замучался... дайте совет... в pageContext может содержать в себе любой объет возвращаемый методом rowDataUtils.getAtomicValue() и в зависимости от него мне надо выводить: текст, ссылку, номер... |