java - 如何根据请求将内容从 Freemarker 发送到 java?

标签 java request freemarker magnolia

我正在尝试将信息从 FreeMarker 模板发送到我的 Java 模型类。

我已经试过了:

//my array of string casted in a string
var pais = selected.join();

request.setAttribute(pais, "paises");

好的,现在我正在尝试在我的 Java 类中收集这些内容:

String paises = MgnlContext.getAttribute("paises"); 

但它确实有效。我尝试了其他类似的方法:

Stirng paises = MgnlContext.getInstance().getAttribute("paises"); 

但它总是返回 null。

最佳答案

解决方案(通过 ajax 发送信息):

首先通过 javascript 获取值:

[#assign cpathx = ctx.contextPath]
[#assign url = model.getUrl() /] 
var field = $('#key').val();
var calin = $('#calendarIni').val();
var calfin = $('#calendarFin').val();
var pais = selected.join();
var url = '${cpathx}${url}?paises='+pais+'&palabra='+field+'&calendarini='+calin+'&calendarfin='+calfin;
    jQuery.post(url ,function(data) {
    jQuery('#ajax').html(data);
  });

现在我们可以在 java 中收集信息:

String paises = MgnlContext.getWebContext().getAttribute("paises");
String queryString = MgnlContext.getWebContext().getAttribute("palabra");
String dateStart = MgnlContext.getWebContext().getAttribute("calendarini");
String dateEnd = MgnlContext.getWebContext().getAttribute("calendarfin");

关于java - 如何根据请求将内容从 Freemarker 发送到 java?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35342445/

相关文章:

java - (警告)扫描 JAR 失败(错误)处理 JAR 失败

java - JNI 从 C 程序调用 Java 方法

java - 在新线程中创建 JFrame(new messageloog)

javascript - 通过网页动态处理请求

javascript - 合理数量的同时异步 ajax 请求

freemarker - 有什么用! (感叹号)在 FreeMarker 中吗?

java - 如何在 FreeMarker 中对数字列表求和

java - 使用适用于 Cassandra 的 Apache Spark Java 连接器(使用键列)从 Cassandra DB 中删除行

java - 尝试在 Freemarker 中输出双倍金额时出现奇怪的字符

go - 使用接口(interface)获取结构的值