Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > переменная в jsp


Автор: _Spirit_ 28.8.2010, 11:43
Люди помогите решить задачу.
У меня в jsp есть форма, в которой имеется инпут с хиденом, и мне туда нужно положить значение переменной с класса Art.
Код

public class Art{
public static final String article_ft = "ft";
//...
}

Какая именно переменная вычисляется методом и возвращается типом String (например Art.article_ft)
Вопрос как её положить в хиден, что бы в форму передалось его значение  "ft"?
 
Код

<input type="hidden" name="article" value="?"/>

Автор: Старовъръ 28.8.2010, 13:17
http://javatalks.ru/sutra86922.php#86922
PS: константы в Java именуются большими буквами - SOME_CONSTANT.

Автор: _Spirit_ 28.8.2010, 13:48
нет,  не совсем то.
У меня несколько переменных, а какая именно переменная вычисляется методом. получается у меня есть например
Код

String art = "Art.article_ft";

а мне нужно значение "ft"
Код

<%=Art.article_ft%>

Сейчас попробую решить с помощью java.lang.reflect

Автор: iluvatar 28.8.2010, 14:15
для того, чтобы использовать выражения типа ${someObject.someField}
нужно чтобы был геттер метод к этому полю и называться он должен getSomeField();

либо использовать скриплет

Автор: _Spirit_ 28.8.2010, 14:58
Мы по моему о разном говорим.  Без разницы откуда берется и как, главное что отдается мне строка, а мне нужно значение.
Решила так:

Код

public class Art {
    public static final String ART_S = "sel";
    public static final String ART_G = "gr";
    public static final String ART_F = "ft";

    public static String art(String s) throws Throwable {
        //  допустим в метод пришло такое значение s = "ART_S", нам надо получить "sel"
        Class cls = Art.class;
        Field field = cls.getField(s);
        Art objectInstance = new Art();
        Object art = field.get(objectInstance);
        return art.toString();   // возвращает значение "sel"
    }
}



Автор: Старовъръ 28.8.2010, 15:07
По-моему ты просто невнимательно "слушаешь". Для того, чтоб получить значение через EL, у объекта должен быть getXxx, по-другому ты просто не сможешь вытянуть значение. И да, getter'ы не должны быть статическими.

Автор: _Spirit_ 28.8.2010, 15:11
при чем тут это, проблема была не в этом.
Спасибо. тема закрыта.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)