- Создать JavaScript-файл или добавить в Header Definition:
function makeComboboxis(){ var els=Ext.select("select.combobox",true); els.each(function(el){ var converted = new Ext.form.ComboBox({ typeAhead: true, triggerAction: 'all', transform: el, width:200,//el.getWidth(), forceSelection:true }); }) }
- Добавить в onload body вызов данной функции или использовать метод onReady фреймворка ExtJS:
Ext.onReady(function(){ Ext.BLANK_IMAGE_URL = '/i/1px_trans.gif'; // Create namespace if doesn't already exist Ext.namespace('Ext.ux'); //Здесь последовательность вызовов функций, например: makeComboboxis(); });
- Создать на странице Apex Item типа SELECT и указать в свойстве Element->HTML Form Element Attributes следующее значение:
class="combobox"
среда, 10 февраля 2010 г.
Application Express: использование COMBOBOX из фреймворка ExtJS
суббота, 6 февраля 2010 г.
Application Express: использование TEXTFIELD с возможностью изменения размера из фреймворка ExtJS
- Создать JavaScript-файл или добавить в Header Definition:
function makeResizableTextFields(){ var els=Ext.select("input.textfield",true); els.each(function(el){ var dwrapped = new Ext.Resizable(el, { wrap:true, pinned:true, handles:'e', dynamic: true, width:el.getWidth(), height:el.getHeight(), minWidth:el.getWidth(), minHeight: el.getHeight() }); }) }
- Добавить в onload body вызов данной функции или использовать метод onReady фреймворка ExtJS:
Ext.onReady(function(){ Ext.BLANK_IMAGE_URL = '/i/1px_trans.gif'; // Create namespace if doesn't already exist Ext.namespace('Ext.ux'); //Здесь последовательность вызовов функций, например: makeComboboxis(); });
- Создать на странице Apex Item типа TEXTFIELD и указать в свойстве Element->HTML Form Element Attributes следующее значение:
class="textfiled"
пятница, 5 февраля 2010 г.
Application Express: использование TEXTAREA с возможностью изменения размера из фреймворка ExtJS
- Создать JavaScript-файл или добавить в Header Definition:
function makeResizableTextAreas(){ var els=Ext.select("textarea",true); els.each(function(el){ var dwrapped = new Ext.Resizable(el, { wrap:true, pinned:true, handles:'e', dynamic: true, width:el.getWidth(), height:el.getHeight(), minWidth:el.getWidth(), minHeight: el.getHeight() }); }) }
- Добавить в onload body вызов данной функции или использовать метод onReady фреймворка ExtJS:
Ext.onReady(function(){ Ext.BLANK_IMAGE_URL = '/i/1px_trans.gif'; // Create namespace if doesn't already exist Ext.namespace('Ext.ux'); //Здесь последовательность вызовов функций, например: makeResizableTextAreas(); });
понедельник, 1 февраля 2010 г.
Интеграция Oracle Application Express и ExtJS
ExtJS - одна из наиболее популярных и функциональных JavaScript-библиотек для разработки веб-приложений и пользовательских интерфейсов.
Инсталляция
- Скачать последнюю версию ExtJS - http://www.extjs.com/products/extjs/download.php
- Для EPG: открыть FTP-порт в XMLDB. Для этого зайти в SQL*Plus пользователем SYSTEM:
SQL> exec dbms_xdb.setftpport('2100'); PL/SQL procedure successfully completed. SQL> alter system register; System altered.
- Для EPG: распаковать дистрибутив extJS и загрузить его на ftp://server_adress:2100/i/themes/,где server_adress - хост сервера БД
- Для EPG: закрыть FTP-порт в XMLDB. Для этого зайти в SQL*Plus пользователем SYSTEM:
SQL> exec dbms_xdb.setftpport('0'); PL/SQL procedure successfully completed. SQL> alter system register; System altered.
- Для HTTP-Server: распаковать дистрибутив extJS в директорию /i/themes, где i - image-директория Apex
Использование extJS в Oracle APEX
- Home -> Application Builder -> Application 101 -> Shared Components -> Templates -> Edit Page Template Header Definition:
- Добавить следующий фрагмент кода в HTML Header:
- Добавить следующий фрагмент в HTML Body Attribute: onload="makeResizable();"
- Добавить элемент типа TEXTAREA.
- Изменить значение Edit Page -> Display Attributes -> Cursor Focus на «Do not focus cursor»
- Запустить данную страницу.
вторник, 2 июня 2009 г.
Пример простейшего MDB-компонента
Ниже пример MDB-компонента который слушает очередь (в этом примере jms/TestQueue) и выводит содержимое сообщения в лог-сервера:
import javax.ejb.ActivationConfigProperty;
import javax.ejb.EJBException;
import javax.ejb.MessageDriven;
import javax.jms.Message;
import javax.jms.MessageListener;
import javax.jms.TextMessage;
@MessageDriven(
activationConfig = {
@ActivationConfigProperty(propertyName="destinationType", propertyValue="javax.jms.Queue") ,
@ActivationConfigProperty(propertyName="connectionFactoryJndiName",propertyValue="jms/JMSConnectionFactory"),
@ActivationConfigProperty(propertyName="destinationJndiName", propertyValue="jms/TestQueue")
}
,mappedName="jms/TestQueue"
)
public class TestMDBBean implements MessageListener {
public void onMessage(Message message) {
try {
if (message instanceof TextMessage) {
TextMessage msg = (TextMessage)message;
System.out.println("Message arrived:");
System.out.println(msg.getText());
System.out.println("\n");
}
} catch (Exception e) {
throw new EJBException(e.toString());
}
}
}
Подписаться на:
Сообщения (Atom)