копаясь в контроллерном коде я заметил что PageReference Action что-то делающий и возвращающий нуль - это тоже самое что просто Void-овый Action (что-то делающий и ничего не возвращающий).
Тогда зачем вообще нужен PageReference Action returning null?
у меня только один вариант - он нужен в тех случаях когда внутри PageReference Action есть логика приводящая к redirect, и есть логика соответсвенно приводящая к returning null (остаться на той же странице).
а если нет редиректа - то делай просто войдовый Action.
Что вы думаете?
(вараинт когда PageReference Action возвращает страницу без редиректа, т.е. несколько страниц крутится на одном контроллере - мы обсуждали это в одной из тем, здесь не рассматривается)
Всем привет!
копаясь в контроллерном коде я заметил что PageReference Action что-то делающий и возвращающий нуль - это тоже самое что просто Void-овый Action (что-то делающий и ничего не возвращающий).
Тогда зачем вообще нужен PageReference Action returning null?
у меня только один вариант - он нужен в тех случаях когда внутри PageReference Action есть логика приводящая к redirect, и есть логика соответсвенно приводящая к returning null (остаться на той же странице).
а если нет редиректа - то делай просто войдовый Action.
Что вы думаете?
(вараинт когда PageReference Action возвращает страницу без редиректа, т.е. несколько страниц крутится на одном контроллере - мы обсуждали это в одной из тем, здесь не рассматривается)
Все абсолютно верно Den ты подметил.
Если логика экшена предусматривает редирект, то ставим Page Reference. Нужно просто отработать и вернуть результат на ту же страницу ставим void.
Возвращать Page Reference равный null нисколько не страшно. Дело вкуса.
Все абсолютно верно Den ты подметил.
Если логика экшена предусматривает редирект, то ставим Page Reference.
Нужно просто отработать и вернуть результат на ту же страницу ставим void.
Возвращать Page Reference равный null нисколько не страшно. Дело вкуса.
Опять двадцать пять:
забыл как сделать чтобы
new PageReference('');
возвращал правильный УРЛ как для внутри-оргового использования (т.е. '/apex/MyPage'), так и правильный УРЛ для использования на сайтовой странице.
чувствую там придется IF ставить и иницилизировать PageReference по разному в зависимости от типа пользователя...
Опять двадцать пять:
забыл как сделать чтобы
[code]new PageReference('');[/code]
возвращал правильный УРЛ как для внутри-оргового использования (т.е. '/apex/MyPage'),
так и правильный УРЛ для использования на сайтовой странице.
чувствую там придется IF ставить и иницилизировать PageReference по разному в зависимости от типа пользователя...
как получить актуальный УРЛ на фронте еще помню:
[code]href="{!$Page.MyPage}"[/code]
:)
[quote="Alex Tsitsura"]а return Page.MyPage;[/quote]
работает.
прелестно, тогда в каких случаях использовать\инициализировать объект PageReference для метода возвращающего PageReference?
Моя не знать. А может VF страницы требуют методы с PageReference, как возвращаемое значение и не приемлют void?
[quote="Chiz"]прелестно, тогда в каких случаях использовать\инициализировать объект PageReference для метода возвращающего PageReference?[/quote]
Я советую посмотреть доку. У PageReference есть много полезных методов)
[url=https://www.salesforce.com/docs/developer/pages/Content/apex_System_PageReference_methods.htm][/url]
[quote="Maxim Elets"][quote="Chiz"]прелестно, тогда в каких случаях использовать\инициализировать объект PageReference для метода возвращающего PageReference?[/quote]
Я советую посмотреть доку. У PageReference есть много полезных методов)
[url=https://www.salesforce.com/docs/developer/pages/Content/apex_System_PageReference_methods.htm][/url][/quote]потомучтовинигрет))
[quote="Maxim Elets"]У PageReference есть много полезных методов[/quote]
наверное, разница именно в этом.
например если мне нужно присобачить УРЛ аргументы к возвращаемой странице - то Page.MyPage наверное не пройдет, но можно через PageReference
У PageReference есть много полезных методов
наверное, разница именно в этом.
например если мне нужно присобачить УРЛ аргументы к возвращаемой странице - то Page.MyPage наверное не пройдет, но можно через PageReference
[quote="Den Brown"][quote="Maxim Elets"]У PageReference есть много полезных методов[/quote]
наверное, разница именно в этом.
например если мне нужно присобачить УРЛ аргументы к возвращаемой странице - то Page.MyPage наверное не пройдет, но можно через PageReference[/quote]
Да можно через PageReference
[code]PageReference pr = Page.MyPage;
pr.getParameters().put('id', 'asdfg');
pr.setRedirect(true);
return pr;[/code]