Spark,Form提交时调用函数
Spark,When Form is submitted call function
假设我有表格:
<form method="POST" action="JAVA-METHOD-NAME(foo)>
<input type="text" name="foo"/>
<button type="submit"/>
</form>
我如何创建一个 Java 函数来获取 foo 中的文本并对其进行处理?
简答
您不能在视图中调用 Java 方法,但是您可以解决这个问题。
长答案
除非我弄错了,否则视图似乎不知道它们的相关性 Java 类。从 Java(即服务器端),您可以将数据传递给视图。从视图中,您可以使用表单和 urls.
将数据传递到服务器端
解决方案
POST
到 url,然后在 Java 代码中获取 POST
ed 的数据。
你的表格:
<form method="POST" action="/example">
<input type="text" name="foo"/>
<button type="submit"/>
</form>
你对应的JavaPOST
方法:
post("/example", (request, response) -> {
// Get foo then call your Java method
String foo = request.queryParams("foo");
someMethod(foo);
}
使用Java脚本的替代解决方案
使用Java脚本做一些处理。请注意,任何 Java脚本也将与视图一起在客户端上执行,因此您可能不得不在某种意义上使用上述实现方式。
<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>
假设我有表格:
<form method="POST" action="JAVA-METHOD-NAME(foo)>
<input type="text" name="foo"/>
<button type="submit"/>
</form>
我如何创建一个 Java 函数来获取 foo 中的文本并对其进行处理?
简答
您不能在视图中调用 Java 方法,但是您可以解决这个问题。
长答案
除非我弄错了,否则视图似乎不知道它们的相关性 Java 类。从 Java(即服务器端),您可以将数据传递给视图。从视图中,您可以使用表单和 urls.
将数据传递到服务器端解决方案
POST
到 url,然后在 Java 代码中获取 POST
ed 的数据。
你的表格:
<form method="POST" action="/example">
<input type="text" name="foo"/>
<button type="submit"/>
</form>
你对应的JavaPOST
方法:
post("/example", (request, response) -> {
// Get foo then call your Java method
String foo = request.queryParams("foo");
someMethod(foo);
}
使用Java脚本的替代解决方案
使用Java脚本做一些处理。请注意,任何 Java脚本也将与视图一起在客户端上执行,因此您可能不得不在某种意义上使用上述实现方式。
<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>