1
Я попытался отправить данные формы HTML в Вершину Java Vertxle, но получаю null
как значение.Vertx: Опубликовать данные из html в Java
Вот мой код:
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>
С уважением.
Существует [Простой пример] (https://github.com/vert-x3/vertx-examples/blob/master/web-examples /src/main/java/io/vertx/example/web/form/Server.java) с аналогичным вариантом использования, как ваш. Возможно, это помогает. – alexvetter
Спасибо @alexvetter Я забыл добавить router.route(). Handler (BodyHandler.create()); – zackzulg
Вам следует рассмотреть вопрос о добавлении ответа и пометить его как правильный ответ на вашу проблему. – alexvetter