powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / bean, как лучше сделать?
25 сообщений из 25, страница 1 из 1
bean, как лучше сделать?
    #34005442
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте уважаемые!
создал бин с кучей "гетов" и "сетов" и еще одним "основным методом".
хочу после чтобы после вызова "сетов" из-вне вызываллся этот "основной метод" благодоря чему будут установлены необходимые змне значения которые я смогу получить при помощи "гетов".вызывать этот "основной метод" в гет-методах считаю неправильным, сделать масив и возвращать все при помощи одного "гет" очень сложно.я конечно понимаю что выразился достаточно коряво , но может кто-нить что-нить понял и подскажет как мне осуществить такое!спасибо.
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34005486
Фотография peter6636
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
babkaЗдравствуйте уважаемые!
создал бин с кучей "гетов" и "сетов" и еще одним "основным методом".
хочу после чтобы после вызова "сетов" из-вне вызываллся этот "основной метод" благодоря чему будут установлены необходимые змне значения которые я смогу получить при помощи "гетов".вызывать этот "основной метод" в гет-методах считаю неправильным, сделать масив и возвращать все при помощи одного "гет" очень сложно.я конечно понимаю что выразился достаточно коряво , но может кто-нить что-нить понял и подскажет как мне осуществить такое!спасибо.
нифига почти не понял,но думаю сделать нужно так:
Создаешь ArrayList или Vector, создаешь объект своего Бина,заполняешь его данными,потом пихаешь этот бин в созданный массив и так сколько нужно.
Потом в цикле достаешь эти бины с разыми значениями в гетах и юзаешь
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34005623
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
попытаюсь написать по нагляднее и попроще)
бин
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
 public   class  bean {
 private  String a;
 private  String b;
 private  String cd;
 private  String ef;

   private   void  load(){
    cd=a+b;
    ef=cd-a*b;
  }
   public   void  setA(string s){
     a=s;
  }
   public   void  setA(string s){
     b=s;
  }
    public  String getCd(){
       return  cd;
   }
    public  String getCd(){
       return  ef
   }   
}

страничка использующая бин
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
<jsp:useBean id="BEAN"  class ="bean" scope="page">
        <jsp:setProperty name="BEAN" property="a" value="<%=K%>"/>
        <jsp:setProperty name="BEAN" property="b" value="<%=N%>"/>
    </jsp:useBean>

test: <jsp:getProperty name="BEAN" property="cd"/>
test: <jsp:getProperty name="BEAN" property="ef"/>

надо чтобы cd\ef были уже с после обработки load
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34005689
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот так нельзя?

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
 public   class  bean {
 private  String a;
 private  String b;
 private  String cd;
 private  String ef;

   private   void  load(){
    cd=a+b;
    ef=cd-a*b;
  }
   public   void  setA(string s){
     a=s;
     load();
  }
   public   void  setB(string s){
     b=s;
     load();
  }
    public  String getCd(){
       return  cd;
   }
    public  String getEf(){
       return  ef
   }   
}

П.С. имена классов пишутся с большой буквы.
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34005854
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
хочу вызывать load только 1 раз
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34005880
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пришел просвет в мое тупоумие
может нада попробывать так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<jsp:useBean id="BEAN"  class ="bean" scope="page">
        <jsp:setProperty name="BEAN" property="a" value="<%=K%>"/>
        <jsp:setProperty name="BEAN" property="b" value="<%=N%>"/>
    </jsp:useBean>

<%BEAN.load();%>


test: <jsp:getProperty name="BEAN" property="cd"/>

...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34005901
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вернее
в бин добавить
Код: plaintext
1.
2.
3.
  public   void  qqq(){
        load();
    }
и
Код: plaintext
1.
<%BEAN.qqq();%>
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34006243
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
незнаю на сколько это правильно , но работает.
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34006434
ТимоН
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется это немного неправильный подход. Можно обернуть этот бин каким нибудь классом.
Код: plaintext
1.
2.
3.
4.
5.
6.
 class  someClass{
 private  bean b;
bean getBean(){
 b.load();
  return  b;
}
}
что нибудь типа этого. Неочень красиво перед использованием бина руками вызывать некоторые init методы. А почему вы нехотите несколько раз вызывать ваш метод load, в каждом геттере?
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34006946
Фотография Кувалдин Роман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
babkaхочу вызывать load только 1 раз

Сделай флаг
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34007594
cooluser
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В биннах сеттеры и геттеры должны выполнять установку/получение значений полей класса. Не более того. Т.е. какой-либо другой логики в сеттерах и геттерах быть не должно.
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34008872
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
руководствовался другой мыслью:
"..какой смысл крутить один и тот же метод перед каждым геттером?только время работы увеличивать...".

2cooluser А это, что к.н. шаблонное правило?

что-то про класс не догоню...помоему вызов этого присловутого метода останется.я не прав?я не так понял идею?!
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34009459
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
babkaхочу вызывать load только 1 раз
Совсем запутал/ Может load() вызывать в конструкторе?

2cooluser Это конечно очень правильно(как пишут в книжках). Но лично у меня редко получается так делать.
Например если при сете надо оповестить обсерверов об изменении что делать??
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34009511
babk2a
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2LINUXER : конструктор отпадает т.к. вызывается до сеттеров, мне это не надо!

где стало "совсем"?)) я только сказал, что непонимаю, что будет(какой смысл) если бин обернуть классом
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34009525
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
babk2a2LINUXER : конструктор отпадает т.к. вызывается до сеттеров, мне это не надо!

где стало "совсем"?)) я только сказал, что непонимаю, что будет(какой смысл) если бин обернуть классом
Зачем? чем приведенный пример не устраивает?
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34009539
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
еще раз:
1)вызовов бина
2)вызов сеттеров
3)вызов load после всех сетов перед всеми гетами
4)вызов гетеров
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34009548
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Timm babk2a2LINUXER : конструктор отпадает т.к. вызывается до сеттеров, мне это не надо!

где стало "совсем"?)) я только сказал, что непонимаю, что будет(какой смысл) если бин обернуть классом
Зачем? чем приведенный пример не устраивает?

тем что load вызывается несколько раз
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34010341
Jozic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cooluserВ биннах сеттеры и геттеры должны выполнять установку/получение значений полей класса. Не более того. Т.е. какой-либо другой логики в сеттерах и геттерах быть не должно. не правда Java Beans Specification 1.01 - 7.1 Accessor methods... So properties need not just be simple data fields, they can actually be computed values. Updates
may have various programmatic side effects. For example, changing a bean’s background color
property might also cause the bean to be repainted with the new color. ...сделайте класс неизменяемым (если это возможно), передавайте параметры в конструктор и вызывайте там же лоад или вызывайте лоад каждый раз при вызове сеттера
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34010493
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
babkaеще раз:
1)вызовов бина
2)вызов сеттеров
3)вызов load после всех сетов перед всеми гетами
4)вызов гетеров
-можно вызвать сеттеры в конструкторе, вернее просто установить всё там, хотя наверное это не удобно.
-можно <%BEAN.load();%> с флагом
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
 private   static   boolean  loaded=false;
   public   void  load(){
     if (loaded) return ;
    cd=a+b;
    ef=cd-a*b;
    loaded=true;
  }
флаг можно не static
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34010496
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
авторпередавайте параметры в конструктор и вызывайте там же лоад

а как сделать чтоб конструктор вызывался после сетеров?!не понимаю..
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34010524
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2LINUXER: про флаг я понял,спасибо уже предлагали, лучше приведите пожалуйста пример про сетеры в конструкторе.
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34010605
Jozic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
babka авторпередавайте параметры в конструктор и вызывайте там же лоад

а как сделать чтоб конструктор вызывался после сетеров?!не понимаю..вообщето это звучало так Jozicсделайте класс неизменяемым (если это возможно), передавайте параметры в конструктор и вызывайте там же лоад то есть, сеттеров там не будет, объект создастся на основании ваших параметров которые вы передадите в конструктор этого класса, там же (в конструкторе) сделайте необходимые вычисления. Если объект должен быть изменяемым (из ващего объяснения это НЕ просматриваецца ), то это не подойдет.
В варианте с флагом нужно сбрасывать флаг в "фалсе" при каждом вызове любого сеттера. По мне так лучше вызывать метод вычисления.
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34010701
Leonidv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вызоы вычислений в set и get бывает зачастую красивее, чем отдельный вызов метода. Вопрос в том, что делает метод load(). Если только считает - то именно так и делать.

А автор темы, похоже, не очень понимает зачем ему то, чего он хочет. Например, мне не понятно, почему вызов load() должен быть строго после установки всех полей? Если это так, то единственныйм правильным путем является их инициализация в конструкторе.
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34011445
LINUXER
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
babkaприведите пожалуйста пример про сетеры в конструкторе
Код: plaintext
1.
2.
3.
4.
5.
6.
//Конструктор
    public  Bean( int  a, int  b) {
       this .a=a;
       this .b=b;
      load();
   }
Код: plaintext
1.
2.
3.
4.
<!--инициализация бина для page scope-->
<%
Bean bean=new Bean( 123 , 323 );
%>
(инициализация)Возможно реализацию load() просто следует перенести в конструктор. Сеттеры не несущие дополнительной функциональности в конструкторе не имеют смысла
о бобовых конструкторах с аргументами

----------------------------------------------------------------------------------------------------------------------------------------------------------------
Народ вас плохо понимает, надо бы разъяснять...
load() вызывается повторно? Если да, в каких случаях?
Сеты производятся вообще 1 раз?
Всё сетится в одном месте(на странице) или есть сложные зависимости?
...
Рейтинг: 0 / 0
bean, как лучше сделать?
    #34012707
babka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
автор
Народ вас плохо понимает, надо бы разъяснять...
load() вызывается повторно? Если да, в каких случаях?
Сеты производятся вообще 1 раз?
Всё сетится в одном месте(на странице) или есть сложные зависимости?

1)пытаюсь,борюсь,учусь Ж)
2)нет,не хочу,не надо
3)да
4)все на одной странице

***************************************************
всем большое спасибо!вроде всех понял)
думаю конструктор с параметрами как раз то,что мне надо.
...
Рейтинг: 0 / 0
25 сообщений из 25, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / bean, как лучше сделать?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]