我正在使用TagLib,但它呈现的是一种奇怪的行为,而不是输出字符,如<
,"
和>
,它输出<
,{ {1}}和"
。
代码:
>
}
在.gsp中我有
class LoginTagLib {
static defaultEncodeAs = [taglib:'html']
//static encodeAsForTags = [tagName: [taglib:'html'], otherTagName: [taglib:'none']]
def loginControl =
{
if(session.user)
{
out << "Hello ${session.user.name}"
out << """[${link(action:"logout", controller:"user"){"Logout"}}]"""
}
else
{
out << """[${link(action:"login", controller:"user"){"Login"}}]"""
}
}
当我打开页面时,我有:
<g:loginControl />
但页面的源代码是:
Hello Jane Smith[<a href="/Blogito/user/logout">Logout</a>]
我尝试过使用<div id="loginHeader">
Hello Jane Smith[<a href="/Blogito/user/logout">Logout</a>]
</div>
,.encodeAsHTML()
,decodeHTML
,到目前为止还没有任何工作
答案 0 :(得分:6)
删除此行:
static defaultEncodeAs = [taglib:'html']
再试一次。
答案 1 :(得分:6)
您也可以告诉它将其作为文本发送(没有编码) 变化
static defaultEncodeAs = [taglib:'html']
到
static defaultEncodeAs = [taglib:'text']