GRAILS:如何解析.gsp文件?

GRAILS:如何解析.gsp文件?,grails,gsp,Grails,Gsp,我发现一个代码片段,看起来像这样 createReportProfile = function () { var url = "<%= createLink(controller: 'configCashFlowReport', action: 'saveCreate')%>"; var data = $("form[id=addReportConfigForm]").serializeArray(); var doneFunction = function (data) {

我发现一个代码片段,看起来像这样

createReportProfile = function () {

var url = "<%= createLink(controller: 'configCashFlowReport', action: 'saveCreate')%>";
var data = $("form[id=addReportConfigForm]").serializeArray();
var doneFunction = function (data) {
    $("#returnAddReportProfiletDiv").html(data);
}

ajaxGet(url, data, doneFunction, undefined);

return false; }
createReportProfile=函数(){
var url=“”;
var data=$(“form[id=addReportConfigForm]”)。serializeArray();
var doneFunction=函数(数据){
$(“#returnAddReportProfiletDiv”).html(数据);
}
ajaxGet(url、数据、doneFunction、未定义);
返回false;}
请注意这一行

var url = "<%= createLink(controller: 'configCashFlowReport', action: 'saveCreate')%>";
var url=”“;
CreateReportProfile函数位于脚本标记内,并保存在report.gsp中。显然,代码是使用javascript编写的,但其中有一个grails代码(createLink)

1) grails是如何检测到它应该对createLInk标记求值的?因为
??但它包含在一个双引号中。grails如何区分简单字符串和应该计算的字符串


2) 如何解析.gsp文件?

为什么您认为这样的代码很难解析?对于GSP来说,不管它有什么内容,html、js或css,或者其他任何东西。所有这些都是文本。除了GSP标记/块本身之外,没有与之相关的语义。这些块之外的所有内容都是按原样传递的字符

您可以改用
语法,或
${createLink}
。我认为那里使用了
,只是因为Javascript代码更容易阅读,而且大多数IDE都会正确地突出显示它,而无需额外努力。

请看这里。您可以设置grails.views.gsp.keepgenerateddir='/some/existing/directory',当您的应用程序编译gsp时,它会将编译后的代码转储到那里供您查看。很适合调试。出现这种情况的原因可能与编解码器有关。看看这里,更好地理解它。