0

我的任务是创建一个 JSP 标记,它允许开发人员将 URI 传递给 xml 文档,并返回一个可以使用 EL 导航的对象。

我一直在使用 groovy 和 grails,所以我想尝试类似的东西

rval =  new XmlSlurper().parseText(myXml);

并将其放入请求中,以便回到 JSP 中,他们可能会执行以下操作:

<mytag var="var"/>
${var.rss[0].title} 

但这种方法行不通。

有没有人有什么建议?

4

2 回答 2

0

它不起作用,因为 JSP 是使用 java 编译器而不是 groovy 编译器编译的。您应该改用 GSP,否则当您使用 GPath 表达式时,您将无法使用内部调用方法的 groovy 机制。

于 2010-01-21T17:59:18.560 回答
0

Gizmo 是正确的,问题在于 JSP 假设一切都是 Java,但我怀疑切换到 GSP 是一个实际的答案。要解决这个问题,您需要知道如何将 Groovy 代码转换为 Java。Groovy 代码:

var.rss[0].title

大致相当于这个Java:

var.getProperty("rss").getAt(0).getProperty("title")

可能还需要将每个结果转换为 GPathResult,例如,

((GPathResult)((GPathResult)var.getProperty("rss")).getAt(0)).getProperty("title")

Java很烂,对吧?

于 2010-01-22T18:49:36.803 回答