3

我正在尝试从类似这样的 spark 框架的 post 方法中获取复选框列表。我也在使用 Freemarker 模板。

HTML:

...
<form class="form-horizonal" name="maCreaIncidencia" action="/maCreaIncidencia" method="POST" accept-charset="utf-8">

<div class="col-lg-3"><!--CONTENEDOR-->
    <fieldset><legend><h5>Roles Asignados</h5></legend>
        <div class="checkbox" name="rolesAsignados" id="rolesAsignados"> <!--id="asignados">-->
            <#list roles as rol>
                <div class="row" name="asignados" id="asignados">
                    <input name="checkbox" type="checkbox" id="${rol.idRol}" value="${rol.idRol}" style="display:none" onClick="if(this.checked)desmarca(this);"><label for="${rol.idRol}" style="display:none">${rol.idRol} - ${rol.rol}</label>
                </div>
            </#list>
        </div>                          
    </fieldset>
</div>
<input class="btn btn-primary btn-lg active btn-block" type="submit" value="Añade Nueva Incidencia" >
</form>
...

在java代码中:

...
String url = request.body();
...

但 url 值为空。可以告诉我解决方法吗?

4

1 回答 1

0

首先,request.body()返回客户端发送的请求体,而不是url。

用这样一个简单的例子。

模板 (car.ftl)

<form action="/" method="POST" accept-charset="utf-8">
    <input type="checkbox" name="vehicle" value="Bike"> I have a bike<br>
    <input type="checkbox" name="vehicle" value="Car" checked> I have a car<br>
    <input type="submit" value="Submit">
</form> 

main.java

import org.apache.log4j.Logger;
import spark.ModelAndView;
import spark.template.freemarker.FreeMarkerEngine;

import static spark.Spark.get;
import static spark.Spark.post;

public class Main {

private static final Logger LOG = Logger.getLogger(Main.class);

    public static void main(String args[]) {

        get("/", (request, response) -> {
            return new ModelAndView(null, "car.ftl");
        }, new FreeMarkerEngine());

        post("/", ((request, response) -> {
            LOG.info("------> " + request.body());

            return new ModelAndView(null, "car.ftl");
        }), new FreeMarkerEngine());

    }
}

日志输出

2015-10-13 15:34:44,889  INFO [qtp297991908-20 - /] Main: ------> vehicle=Car

在此处查看完整项目:https ://github.com/dominicfarr/spark-framework-request-body

于 2015-10-13T14:39:42.247 回答