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;
    }
}

ありがとうございました

4

1 に答える 1

1

play.api.templates.Htmlは Java ではなく Scala で記述されているため、 not java.lang.StringBuilderbutを使用し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;
    }
}
于 2013-10-20T20:41:46.197 に答える