Spark,当Form提交时调用函数

时间:2015-11-16 16:49:47

标签: java spark-java

假设我有表格:

<form method="POST" action="JAVA-METHOD-NAME(foo)>
  <input type="text" name="foo"/>
  <button type="submit"/>
</form>

我如何创建一个Java函数来获取foo中的文本并用它来填充它?

1 个答案:

答案 0 :(得分:0)

简短回答

您无法在视图中调用Java方法,但是您可以解决此问题。

答案很长

除非我弄错了,否则视图似乎不知道他们的相关Java类。从Java(即服务器端),您可以将数据传递给视图。从视图中,您可以使用表单和URL将数据传递到服务器端。

解决方案

POST到网址,然后在Java代码中获取POST的数据。

您的表格:

<form method="POST" action="/example">
   <input type="text" name="foo"/>
   <button type="submit"/>
</form>

您对应的Java POST方法:

post("/example", (request, response) -> {
     // Get foo then call your Java method
    String foo = request.queryParams("foo");
    someMethod(foo);
}

使用JavaScript的替代解决方案

使用JavaScript进行一些处理。请注意,任何JavaScript也将在客户端上与视图一起执行,因此您可能必须在某种意义上使用上述实现

<form method="POST" action="action="javascript:handleIt()">
    <input type="text" id="foo" name="foo"/>
    <button type="submit"/>
</form>
...
<script type="text/javascript">
    function handleIt() {
       var foo = document.getElementById('foo').value;
       // Now send foo to server side by POSTing to
       // a URL
    }
</script>