返回 字符串的 form和js组合让页面跳转

复制代码
        router.get("/wy/jhy").handler(ctx->{
            ctx.request().response().setChunked(true);
            System.out.println("到此..........................................................................");

            ctx.request().params().names().stream().forEach(name->{
                System.out.println("******************************************-:-"+name);
            });
            System.out.println(ctx.request().getParam("merOrderId"));

            String merOrderId = ctx.request().getParam("merOrderId");
            String last = merOrderId.substring(5);
            String tenantOrderNo = last.substring(0, last.length() - 19);
            String tenantId = last.substring(tenantOrderNo.length());

            JsonObject toDBRead = new JsonObject();
            toDBRead.put("read_or_write", "read");
            toDBRead.put("sql", MybatisNamespace.orders_getSy);

            JsonObject params = new JsonObject();
            params.put("tenantId",tenantId);
            params.put("tenantOrderNo",tenantOrderNo);

            toDBRead.put("params", params.toString());

            vertx.eventBus().<String>send(DB_CENTER_ADDRESS, toDBRead.toString(), new DeliveryOptions().setSendTimeout(60000), result -> {
                if (result.succeeded()) {

                    System.out.println("=== : "+result.result().body());

                    String amount = ctx.request().getParam("amount");
                    StringBuilder sb = new StringBuilder(amount);
                    sb.insert(amount.length() - 2, ".");

                    String form = "<form id=\"returnForm\" action=\""+result.result().body()+"\" method=\"get\">\n" +
                            "<input type=\"hidden\" name=\"amount\" value=\""+sb.toString()+"\"/>\n" +
                            "<input type=\"hidden\" name=\"tenantId\" value=\""+tenantId+"\"/>\n" +
                            "<input type=\"hidden\" name=\"tenantOrderNo\" value=\""+tenantOrderNo+"\"/>\n" +
                            "</form>\n" +
                            "<script>document.getElementById(\"returnForm\").submit();</script>";
                    ctx.request().response().putHeader("Content-Type","text/html;charset=utf-8");
                    ctx.request().response().setStatusCode(200).write(form).end();
                } else {
                    ctx.request().response().putHeader("Content-Type","text/html;charset=utf-8");
                    ctx.request().response().setStatusCode(200).end("内部错误");
                }
            });

        });
复制代码
<form id="returnForm" action="http://www.baidu.com" method="get">
<input type="hidden" name="amount" value="11.00"/>
<input type="hidden" name="tenantId" value="4778638114955493397"/>
<input type="hidden" name="tenantOrderNo" value="6CGeIhuL0apDX0aO03Ntd6lT"/>
</form>
<script>document.getElementById("returnForm").submit();</script>

vertx 代码示例

posted on   --LP--  阅读(295)  评论(0编辑  收藏  举报

编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示