Я только что нашел другую причину этой ошибки - неразрешенный тег.
У меня был этот HTML:
<div >
<h3>Request Information</h3>
<lift:DetailedRequestData.renderContent>
<f:rowTag></f:rowTag>
</lift:DetailedRequestData.renderContent>
</div>
Я написал это для renderContent
:
def renderContent(ns: NodeSeq): NodeSeq = {
val key = beginTrans(DisplayData.logger)
var result = ns
try {
var requestID = DisplayData.getParameter("request")
bind("f", ns, "rowTag" -> <p>Request ID: {requestID}</p>)
}
catch {
case t: Throwable => DisplayData.logger.error("[DetailedRequestData$.renderContent] ", t)
}
endTrans(DisplayData.logger, key)
result
}
Поскольку я не назначил результат bind
на result
, я возвращал неизмененный NodeSeq
и получил ту же ошибку prefix not bound to a namespace
. Изменение одного утверждения на:
result = bind("f", ns, "rowTag" -> <p>Request ID: {requestID}</p>)
Да, это была моя собственная глупая ошибка, но, документируя здесь проблему, я надеюсь, я спасу кого-то еще от этой же проблемы и не знаю, почему.