velocity置換n改行はhtml
2199 ワード
文字列の「」改行文字をvelocityで
に変換するには、次の2つのソリューションが一般的です.
次の方法でテストしても正常に動作しない場合
ただしjdk 1を用いると.4のString.replaceAll(new,old)はソリューション1を解決できます.
解決方法2:上記のような失敗した方法では、velocityに次のような方法を追加できます.
転載元:velocity置換改行文字html
に変換するには、次の2つのソリューションが一般的です.
次の方法でテストしても正常に動作しない場合
#set($comments = $stringUtils.replace($comments, "
", "<br />"))
ただしjdk 1を用いると.4のString.replaceAll(new,old)はソリューション1を解決できます.
#set($comments = $comments.replaceAll("
", "<br />)
解決方法2:上記のような失敗した方法では、velocityに次のような方法を追加できます.
public void testCommonsStringUtils() throws Exception {
VelocityEngine engine = new VelocityEngine();
engine.init();
VelocityContext ctx = new VelocityContext();
ctx.put("stringUtils", new StringUtils());
ctx.put("comments", "this is a
newline test");
ctx.put("newline", "
");
ctx.put("break", "<br />");
String template = "#set($comments = $stringUtils.replace($comments,$newline,$break))";
template += "$comments";
StringWriter writer = new StringWriter();
engine.evaluate(ctx, writer, "", template);
assertEquals("this is a <br /> newline test", writer.toString());
}
転載元:velocity置換改行文字html