我想知道你们是否可以帮助我。我已经使用Spark视图引擎创建了自己的模板引擎,最终创建了一个Excel文件。
但是我遇到了一个问题。在此过程中,我将结果火花输出推送到XmlDocument中。这导致我出现由spark产生的非法字符的问题。例如
<foo>
<bar>${Model.Something}</bar>
</foo>
由Spark解析以生成
<foo>
<bar>This < is a problem</bar>
</foo>
所以我希望有一些我可以覆盖${}
,以便我可以处理非法角色。
另请注意,产生的火花输出是一个字符串。
有什么想法吗?
提前致谢
答案 0 :(得分:1)
Had同样的情况,这是解决方法:
<!-- 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中,以便它影响所有视图。