我有另一页的WAnchor,它改变了内部路径。我还有一个函数internalPathChange()
,它对internalPathChanged()
作出反应,并根据内部路径调用正确的函数。
如何使用POST将值从第一页提供给第二页?
答案 0 :(得分:1)
您应该使用小部件。 Wt不知道post和不同html页面的概念。
HangmanGame.C文件中可以找到一个很好的例子here。
您可以创建自己的小部件,并在这些小部件的构造函数中指定所需的值。然后他们使用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
是您要将值发布到的“页面”。