У меня есть WAnchor на другой странице, которая меняет внутренний путь. У меня также есть функция internalPathChange()
которая реагирует на internalPathChanged()
и вызывает правильную функцию в зависимости от внутреннего пути.
Как я могу использовать POST для передачи значений с первой страницы на вторую страницу?
Вы должны работать с виджетами. Wt не знает понятия post и разных html-страниц.
Большой пример можно найти здесь, в файле HangmanGame.C. Вы создаете свои собственные виджеты, а в конструкторе этих виджетов указываете, какие значения вам нужны. Затем они используют Wt::WStackedWidget
для отображения только новой "страницы".
Они используют следующий код:
void HangmanGame::handleInternalPath(const std::string &internalPath)
{
if (session_.login().loggedIn()) {
if (internalPath == "/play")
showGame();
else if (internalPath == "/highscores")
showHighScores();
else
WApplication::instance()->setInternalPath("/play", true);
}
}
void HangmanGame::showHighScores()
{
if (!scores_)
scores_ = new HighScoresWidget(&session_, mainStack_);
mainStack_->setCurrentWidget(scores_);
scores_->update();
backToGameAnchor_->removeStyleClass("selected-link");
scoresAnchor_->addStyleClass("selected-link");
}
void HangmanGame::showGame()
{
if (!game_) {
game_ = new HangmanWidget(session_.userName(), mainStack_);
game_->scoreUpdated().connect(&session_, &Session::addToScore);
}
mainStack_->setCurrentWidget(game_);
backToGameAnchor_->addStyleClass("selected-link");
scoresAnchor_->removeStyleClass("selected-link");
}
Таким образом, в этом примере HighScoresWidget
и HangmanWidget
являются "страницами", на которые вы хотите публиковать значения.