Пример добавления пунктов в ЛК редиректящих на url

Материал из BiTel WiKi

Перейти к: навигация, поиск

Реализация дин.веб-экшена, который перекидывает на разные урлы. Для добавления как пункты веб-меню. Например, для создания ссылок на платёжные системы:

* Оплата Банковской картой - https://c.cloudpayments.ru/xxx/
* Оплата через Сбербанк Онлайн - https://online.sberbank.ru/

Дин.код такой:

package ru.xxx;
 
import static ru.bitel.bgbilling.common.bean.BGBaseConstants.REQUEST_ATTR_CONTENT_TYPE;
import java.io.IOException;
import bitel.billing.server.ActionResultContentType;
import ru.bitel.bgbilling.common.BGException;
import ru.bitel.bgbilling.kernel.container.web.action.AbstractAction;
 
public class ActionWebMenuRedirect
	extends AbstractAction
{
	public void cloudpayments()
		throws BGException
	{
		forward("https://c.cloudpayments.ru/xxx/");
	}
 
	public void sbol()
		throws BGException
	{
		forward("https://online.sberbank.ru/");
	}
 
	private void forward(String url)
		throws BGException
	{
		try
		{
			context.getRequest().setAttribute( REQUEST_ATTR_CONTENT_TYPE, ActionResultContentType.binary );
			context.getResponse().sendRedirect( url );
		}
		catch( IOException e )
		{
			throw new BGException( e ); 
		}
	}
}

Настройка конфига сервера, для создания нового [дин.]экшена:

dynaction:ru.xxx.web.ActionWebMenuRedirect=ru.xxx.ActionWebMenuRedirect

Для справки: переход срабатывает на такие ссылки итоговые:

* http://.../bgbilling/webexecuter?action=WebMenuRedirect&mid=0&module=ru.xxx&operation=cloudpayments
* http://.../bgbilling/webexecuter?action=WebMenuRedirect&mid=0&module=ru.xxx&operation=sbol

В итоге настройки двух пунктов веб-меню:

1)

action: WebMenuRedirect&operation=cloudpayments

moduleId: 0

moduleName: ru.xxx

moduleTitle: ?

title: Оплата Банковской картой

2)

action: WebMenuRedirect&operation=sbol

moduleId: 0

moduleName: ru.xxx

moduleTitle: ?

title: Оплата через Сбербанк Онлайн

Веб-меню добавить так: добавляете любой пункт, потом правите параметры action итд. Не забывайте, что веб-меню либо надо повесить на нужный договор явно (в договоре в клиенте отдельная вкладка), либо назначить это меню "по умолчанию" (настройка в веб-меню уже), чтобы он везде был и у всех.

--dimOn 11:15, 20 февраля 2017 (UTC)

Личные инструменты