我有一个 WANchor 到另一个页面,它改变了内部路径。我还有一个函数internalPathChange()
可以响应internalPathChanged()
并根据内部路径调用正确的函数。
如何使用 POST 将值从第一页传递到第二页?
您应该使用小部件。Wt 不知道 post 和不同 html 页面的概念。
在HangmanGame.C文件中可以找到一个很好的示例。您创建自己的小部件,并在这些小部件的构造函数中指定您需要的值。然后他们使用 aWt::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
andHangmanWidget
是您要向其发布值的“页面”。