Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Playframework 重写mvc.Controller.template()_Playframework_Playframework 1.x - Fatal编程技术网

Playframework 重写mvc.Controller.template()

Playframework 重写mvc.Controller.template(),playframework,playframework-1.x,Playframework,Playframework 1.x,我想为单独的移动视图和桌面视图覆盖方法模板()。 我在mvc.Controller中创建了一个新方法(isMobile()),以了解访问者是否使用手机 isMobile()如果是手机,则返回true 在template()中,我调用isMobile(),如果返回true,我将更改路径 通常情况下,这应该是可行的。但是没有。即使我破坏了模板方法,应用程序仍然可以工作 我试图停止并重新启动应用程序,但应用程序仍然可以工作 谢谢 编辑: 好的,我想我需要知道如何重新编译播放库来保存我的更改。如果要重新

我想为单独的移动视图和桌面视图覆盖方法模板()。 我在mvc.Controller中创建了一个新方法(isMobile()),以了解访问者是否使用手机

isMobile()如果是手机,则返回true

在template()中,我调用isMobile(),如果返回true,我将更改路径

通常情况下,这应该是可行的。但是没有。即使我破坏了模板方法,应用程序仍然可以工作

我试图停止并重新启动应用程序,但应用程序仍然可以工作

谢谢

编辑:
好的,我想我需要知道如何重新编译播放库来保存我的更改。

如果要重新编译对框架核心代码的更改,请转到框架文件夹并键入“ant”

您也可以在上签出我的fork(更新为1.2.5RC3)

将以下代码添加到任何控制器:

@OnApplicationStart
public static class BootLoader extends Job<Object> {
    @Override
    public void doJob() {
        Controller.registerTemplateNameResolver(new ITemplateNameResolver(){
            @Override
            public String resolveTemplateName(String templateName) {
                // replace the following statement with your user agent detect logic
                return UserAgent.isMobile() ? "mobile/" + templateName : templateName;
            }
        });
    }
}
@OnApplicationStart
公共静态类引导加载程序扩展作业{
@凌驾
公共职务{
Controller.registerTemplateNameResolver(新的ITemplateNameResolver(){
@凌驾
公共字符串resolveTemplateName(字符串templateName){
//用用户代理检测逻辑替换以下语句
返回UserAgent.isMobile()?“mobile/”+templateName:templateName;
}
});
}
}

请确保在克隆my fork之后执行
git checkout 1.2.x
,然后执行
cd framework;ant
编译。

感谢您的帮助。出于安全考虑,我不能用你的叉子。