如何使用 Wt 将一些值发布到另一个页面

How can I POST some values to another page with Wt?

本文关键字:另一个 Wt 何使用      更新时间:2023-10-16

我有一个WAnchor到另一个页面,它改变了内部路径。我还有一个函数internalPathChange(),它可以对internalPathChanged()做出反应,并根据内部路径调用正确的函数。

如何使用 POST 给出从第一页到第二页的值?

你应该使用小部件。Wt 不知道帖子和不同 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");
}

因此,在此示例中,HighScoresWidgetHangmanWidget是要将值发布到的"页面"。

相关文章: