2010-01-21 28 views
0

我的任務是創建一個JSP標籤,它允許開發人員將URI傳遞給xml文檔,並返回一個可以使用EL進行導航的對象。在JSP中使用EL的groovyxmlslurper

我一直在使用Groovy和Grails頗有幾分,所以我想嘗試像

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

和投擲到這一點,從而在JSP中回他們可能會做一些這樣的要求:

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

但這種方法不起作用。

有沒有人有任何建議?

回答

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的很爛,是吧?

0

它不起作用,因爲JSP是使用java編譯器編譯的,而不是groovy編譯器。您應該使用GSP,否則當您使用GPath表達式時,您將無法使用內部調用方法的groovy機制。