【发布时间】:2016-04-30 11:21:53
【问题描述】:
我尝试将 HTML 表单数据发送到 Java Vertx Verticle,但我得到了 null 作为值。
这是我的代码:
public void start(Future<Void> startFuture) throws Exception {
Router router = Router.router(vertx);
router.route("/html/*").handler(StaticHandler.create().setWebRoot("html/"));
router.route("/html/*").handler(StaticHandler.create().setWebRoot("web/html"));
router.route("/js/*").handler(StaticHandler.create().setWebRoot("web/js"));
router.route("/css/*").handler(StaticHandler.create().setWebRoot("web/css"));
router.route("/fonts/*").handler(StaticHandler.create().setWebRoot("web/fonts"));
Route route = router.route(HttpMethod.POST, "/crypt/testForm/");
route.handler(routingContext -> {
String productType = routingContext.request().getParam("test");
System.out.println(productType);
});
vertx.createHttpServer()
.requestHandler(router::accept)
.listen(8085, "localhost", res -> {
if (res.succeeded()) {
startFuture.complete();
} else {
startFuture.fail(res.cause());
}
});
}
对于我的 html 文件:
<form action="/crypt/testForm" method="post">
<input type ="text" id="test" name ="test"/>
<input type="submit"/>
</form>
问候。
【问题讨论】:
-
有一个simple example 与您的类似用例。也许这会有所帮助。
-
谢谢@alexvetter 我忘记添加router.route().handler(BodyHandler.create());
-
您应该考虑添加一个答案并将其标记为您问题的正确答案。
标签: vert.x