play framework 2.1.3扩展play.api.templates.Html

时间:2013-10-20 20:18:42

标签: java playframework playframework-2.1

只是想知道是否有可能,如果是,扩展play.api.templates.Html类是多么困难。

import java.lang.StringBuilder;

public class MyHtml extends play.api.templates.Html {

}

给我错误:

error: constructor Html in class Html cannot be applied to given types;

这给出了相同的内容:

public class MyHtml extends play.api.templates.Html {
    String text;

    public MyHtml(String text) {
        this.text = text;
    }
}

谢谢

1 个答案:

答案 0 :(得分:1)

play.api.templates.Html是用Scala而不是Java编写的,因此它不使用java.lang.StringBuilder而是使用scala.collection.mutable.StringBuilder

这编译(我不是说,这是有用的甚至是好的做法):

package views;

public class MyHtml extends play.api.templates.Html {
    private String text;

    public MyHtml(String text) {//please take care of HTML injection!!!
        super(scala.collection.mutable.StringBuilder$.MODULE$.newBuilder());
        this.text = text;
    }

    @Override
    public String body() {
        return text;
    }
}