Маленькие советы

На этой странице находятся небольшие советы по работе в JDeveloper в форме Вопрос-Ответ
(страница будет постоянно дополняться и изменяться):

ADF

Я создал два popup(p1 и p2), и хочу запустить второй popup(p2) внутри первого(p1). При запуске p2, закрывается p1. Что делать?

По умолчанию у компонента Popup, для свойство AutoCancel установлено значение True. Что бы окно  не закрывалось автоматически, установите значение "False "для этого  свойства.

Как мне программно обратиться к   Bindings-ам (операциям,методам и атрибутам)текущей страницы?

Для этого необходимо ввести сначала следующую строку:

BindingContainer bindings =BindingContext.getCurrent().getCurrentBindingsEntry();

 Если это операция или метод, то :


OperationBinding operationBinding = bindings.getOperationBinding("Название метода");
Object result = operationBinding.execute();


А если это атрибут,то:

AttributeBinding attribute = (AttributeBinding) bindings.getControlBinding("Название атрибута");

И в зависимости от того какой тип атрибута, присвоить его какой либо переменной:

String variablep =(String)attribute.getInputValue();

Если это дерево


FacesCtrlHierBinding treeData = (FacesCtrlHierBinding)bindings .getControlBinding("Название tree"); 
Row[] rows = treeData.getAllRowsInRange();




У меня на странице находятся в разных местах RadioButton-s. Как  сгруппировать их(то есть,  что бы только один из них мог быть выбран)

  Для этого нужно использовать компонент SelectBooleanRadio, у него есть свойство "Group". Если у двух и более компонент SelectBooleanRadio свойство "Group"имеет одинаковое  значение, то они группируются.

Как  программно создать  окно с сообщением?

Нужно написать следующую строку в коде:

FacesContext.getCurrentInstance().addMessage("", new FacesMessage("Текст сообщения"));


Как  программно вывести созданный popup ?

Нужно написать следующий код:
 
UIComponent source = (UIComponent) event.getSource(); //event.getSource() если код в action методе, valueChangeEvent.getSource()если код в листенер методе RichPopup.PopupHints hints = new RichPopup.PopupHints(); hints.add(RichPopup.PopupHints.HintTypes.HINT_ALIGN_ID, source) .add(RichPopup.PopupHints.HintTypes.HINT_LAUNCH_ID, source) .add(RichPopup.PopupHints.HintTypes.HINT_ALIGN, RichPopup.PopupHints.AlignTypes.ALIGN_AFTER_END); popup.show(hints); 
 
где popup это binding к созданному popup

Как обновить компонент, не обновляя всю страницу

AdfFacesContext.getCurrentInstance().addPartialTarget(UIComponent); 

где UIComponent - биндинг необходимого компонента.



Как узнать имя текущего пользователя

ADFContext.getCurrent().getSecurityContext().getUserName(); 

Примечание: если вам необходимо узнать имя пользователя в портлете который встроен в портал, добавьте в portlet xml в container runtime параметр : com.oracle.portlet.useWsrpUserContextForUserAuthenticationInfo' со значением 'true'

Как узнать прошел ли пользователь аутентификацию




ADFContext.getCurrent().getSecurityContext().isAuthenticated();


BPEL

Какая функция в  BPEL  возвращает текущую дату?

xp20:format-dateTime(xp20:current-dateTime(),"[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01]")


где   xp20:current-dateTime() -текущая дата
       "[Y0001]-[M01]-[D01]T[H01]:[m01]:[s01]" -формат даты

Таблицы форматов:

  Год
Пример
Выражение
2014
[Y0001]
2014
[Y]
14
[Y01]
Месяц
 Пример
Выражение
08
[M01]
8
[M]
VIII
[MI]
Апрель
[MNn]
АПРЕЛЬ
[MN]
Апр
[MNn,*-3]
АПР
[MN,*-3]
День
Пример
Выражение
05
[D01]
5
[D]
5
[D1]
31st
[D1o]
Понедельник
[FNn]
Часы
Пример
Выражение
3
[h]
9
[H]
08
[H01]
Минуты
Пример
Выражение
03
[m01]
3
[m]
Секунды
Пример
Выражение
09
[s01]
9
[s]