Как я могу вызвать страницу VF с параметрами от кнопки на другой странице VF - PullRequest
1 голос
/ 23 января 2012

У меня есть кнопка на странице VF для печати страницы VF.Эта страница является результатом поиска, поэтому для печати я создаю очень похожую страницу, за исключением того, что она будет отображаться в формате PDF.Поэтому я хочу передать критерии поиска, введенные на текущей странице Vf, на страницу printVF.

Как передать переменные с одной страницы VF на другую

1 Ответ

1 голос
/ 23 января 2012

Вы можете просто заставить кнопку вызывать действие, возвращающее ссылку на новую страницу:

<!-- in page -->
<apex:commandButton action="{!PrintPage}" value="Print"/>

И тогда в вашем контроллере вы можете создать ссылку на страницу и добавить любые параметры, которые вам нужны:

// in controller
public Pagereference PrintPage()
{
    Pagereference pr = Page.ThePrintPage;
    pr.setRedirect(true);
    pr.getParameters().put('searchFilter1', 'someValue');
    pr.getParameters().put('searchFilter2', 'someOtherValue');
    return pr;
}

Затем в контроллере для другой страницы вы можете просто прочитать эти параметры и использовать их в своем запросе:

string strFilter1 = ApexPgaes.currentPage().getParameters().get('searchFilter1');

Если страница очень похожа, вы можете просто захотетьпереключите параметр renderAs в теге страницы, используя связанную переменную, и пусть ваше действие просто переключит это - вы, вероятно, захотите отключить видимость других частей страницы, но это избавит вас от повторного выполнения запроса и т. д.Конечно, если вам нужны две страницы, вы всегда можете упростить задачу, выполнив логику поиска в третьем классе, который содержит весь общий код.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...