Обычная версия
Java форум JavaTalks
форум программистов

Поиск   Пользователи   Группы   Регистрация 
 Профиль   Личные сообщения 

 Вход 

Как не используя скриптлеты вызвать метод bean'a?
Список форумов
 ->  Основы веб-программирования на Java


 
Начать новую тему 
Предыдущая тема :: Следующая тема  
Автор Сообщение
airou : 4
Новичок

СообщениеФев 15, 2012 2:03 
Ответить с цитатой
Как не используя скриптлеты вызвать void метод bean'a?
Можно ли булевый результат метода подставить как-то в условие c:if ?
К началу Посмотреть профиль Отправить личное сообщение
aint : 95
Новичок
Откуда: Ukraine.Shit city

СообщениеФев 15, 2012 17:13 
Ответить с цитатой
Код:

<jsp:useBean id="myBean" class="test.MyBean" />
<c:set var="void" value="${myBean.doVoidMethod}" />
<c:remove var="void"/>
<c:if test="${myBean.isEmpty}">
        do a barrel roll
</c:if>

К началу Посмотреть профиль Отправить личное сообщение
airou : 4
Новичок

СообщениеФев 16, 2012 0:01 
Ответить с цитатой
Так вот не получается.

В бине есть метод
Код:
public boolean checkA()


В jsp страничке вызываю этот метод бина А.
Код:
<c:when test="${A.checkA}">


И ошибка:

org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: The class 'testpack.A' does not have the property 'checkA'.
К началу Посмотреть профиль Отправить личное сообщение
aint : 95
Новичок
Откуда: Ukraine.Shit city

СообщениеФев 16, 2012 16:17 
Ответить с цитатой
Потому что ваш класс не есть бином. В бине все методы должны быть get/set/is.
К началу Посмотреть профиль Отправить личное сообщение
Skipy : 4805
Я тут живу!
Откуда: Москва, Россия

СообщениеФев 16, 2012 16:29 
Ответить с цитатой
airou писал(а):
В бине есть метод
Код:
public boolean checkA()


В jsp страничке вызываю этот метод бина А.
Код:
<c:when test="${A.checkA}">



Неверно. Вы вызываете не метод, а свойство. К нему впереди дописывается get, первая буква увеличивается и ищется метод getCheckA().
_________________
С уважением,
Евгений aka Skipy
www.skipy.ru
P.S. Я НЕ решаю задачи ЗА других!
К началу Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Pahan : 745
Постоянный посетитель
Откуда: Минск

СообщениеФев 16, 2012 18:01 
Ответить с цитатой
Цитата:
Потому что ваш класс не есть бином. В бине все методы должны быть get/set/is.

На самом деле не обязательно.
К началу Посмотреть профиль Отправить личное сообщение
Pahan : 745
Постоянный посетитель
Откуда: Минск

СообщениеФев 16, 2012 18:11 
Ответить с цитатой
Цитата:
Как не используя скриптлеты вызвать void метод bean'a?
Можно ли булевый результат метода подставить как-то в условие c:if ?

Если это public static функция, то ее можно замапить на Expressin Language.
Если функция не static public, то почеловечески сделать не выйдет. Стандартными методами я имею ввиду.
На Spring Expression Language (SpEL), если не ошибаюсь, это делается легко.
К началу Посмотреть профиль Отправить личное сообщение
 
Начать новую тему  Ответить на тему
Страница 1 из 1
Список форумов
 -> Основы веб-программирования на Java


 
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Java and all Java-related trademarks and logos are trademarks or registered trademarks of Oracle Corporation in the United States and other countries.
Это сайт не относится к фирме Oracle Corporation и не поддерживается ею.

© 2006-2010 www.javatalks.ru: форум java программистов
Используется скрипт phpBB © 2001, 2010 phpBB Group

Хостинг от bizname.ru