java - play框架2.1.3扩展play.api.templates.Html

标签 java playframework playframework-2.1

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

import java.lang.StringBuilder;

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

}

给我错误:

错误:Html 类中的构造函数 Html 无法应用于给定类型;

这给出了相同的:

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

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

谢谢

最佳答案

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

关于java - play框架2.1.3扩展play.api.templates.Html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19482375/

相关文章:

java - 如何在 JNA 中传递包含原始类型数组的结构?

scala - 使用 SBT 子项目和 Scala 玩 2.2.2

model-view-controller - Play Framework : how to repopulate form on validation-failure when using datamodel?

nginx - 带有 nginx 和 Play 2.1 应用程序的子目录的反向代理

playframework - 自定义play 2.1中的json验证错误

java - 排除文件过滤器

java - 连接被拒绝,如何解决?

java - 即使使用有效的 URI,图像也不会附加到文本消息中

playframework - 仅在测试模式下运行某些 Controller ,用于 playframework

scala - Play 2.1.x默认捕获所有路线