lift:TestCond
относится к фрагменту object TestCond
, который предоставляет только методы loggedIn
и loggedOut
. В Lift нет общего <c:if/>
, потому что оно стирает границы между кодом и разметкой.
Если вам нужно другое поведение, вам нужно самостоятельно реализовать такие тесты и сделать их явными в своем коде. Но это действительно просто. Глядя на исходный код, вы можете получить представление о том, как настроить его в соответствии с вашими потребностями.
Код для loggedIn
так же просто, как
def loggedIn(xhtml: NodeSeq): NodeSeq =
if (S.loggedIn_?) xhtml else NodeSeq.Empty
Так, например, вы можете реализовать другое поведение, которое учитывает
<lift:HasRole.administrator />
или более продвинутый
<lift:HasRole.any type="administrator manager" />
или что-то подобное. Но это действительно зависит от вашего варианта использования, поэтому я думаю, что сделать это универсальным в Lift невозможно.