MultiLineLabel wywołuje Strings.toMultilineMarkup(getDefaultModelObjectAsString()). Wystarczy zajrzeć i zobaczyć że to otacza tekst tagami
i w miejsce pojedynczych \n daje
a w miejsce wielokrotnych daje </p>
.
W getDefaultModelObjectAsString() znajduje się kod:
// If we should escape the markup
if (getFlag(FLAG_ESCAPE_MODEL_STRINGS))
{
// Escape HTML sensitive characters only. Not all none-ascii chars
return Strings.escapeMarkup(modelString, false, false).toString();
}
return modelString;
a więc i tak trzeba dać setEscapeModelStrings(false) jeśli chce się umieścić jakieś tagi.
Polecam poczytać źródła Wicketa.