Spark View Engine, переопределить поведение $ {} - PullRequest
0 голосов
/ 24 марта 2011

Мне было интересно, если вы, ребята, могли бы помочь мне.Я использовал движок представления Spark, чтобы создать свой собственный движок шаблонов, который в конечном итоге заканчивается созданием файла Excel.

Однако я столкнулся с проблемой.Во время этого процесса я помещаю результирующий искровой вывод в XmlDocument.Это вызывает у меня проблемы с нелегальными персонажами, создаваемыми искрой.Например,

<foo>
    <bar>${Model.Something}</bar>
</foo>

Анализируется Spark для получения

<foo>
    <bar>This < is a problem</bar>
</foo>

Так что я надеюсь, что есть возможность переопределить ${}, чтобы справиться с недопустимым персонажем.

Также имейте в виду, что результирующий искровой разряд представляет собой строку.

Есть мысли?

Заранее спасибо

1 Ответ

1 голос
/ 28 марта 2011

Если бы такая же ситуация, это обходной путь:

<!-- Use instead of built-in H() that only works in HTTP context (Html != null) -->
<macro name="H" html="string">${System.Web.HttpUtility.HtmlEncode(html)}</macro>

Таким образом, вам не нужно менять свои представления, вы просто переопределяете H () и do $ {H (Model.Something)} как обычно.

Вы также можете поместить этот макрос в \ Shared_global.spark, чтобы он влиял на все представления.

...