Jör*_*erg 7 java playframework
起初我有这个链接到twitter图标:
@{'/public/images/twitter-icon.png'/}
Run Code Online (Sandbox Code Playgroud)
但现在我想根据类型显示Twitter,Facebook或LinkedIn图标.所以,我创建了一个FastTag,它将类型作为参数,代码如下所示:
In the view:
#{myApp.icon contact.type/}
FastTag Java Code:
String type = (String) args.get("arg");
out.print("/public/images/" + type + "-icon.png");
Run Code Online (Sandbox Code Playgroud)
它工作正常.但是,在我们的构建服务器上,我们运行带有uri前缀的应用程序,就像这样
http://ourdomain.com/appname/...
Run Code Online (Sandbox Code Playgroud)
显然/公共/图像......在这里不起作用.所以我想我必须要求路由器提供正确的地址.我试过以下但没有成功:
Router.reverse("/public/images/" + type + "-icon.png");
Router.reverse("/public/");
Router.reverse("staticDir:public");
Run Code Online (Sandbox Code Playgroud)
这三个都导致NoRouteFoundException.如何为我的图标获取正确的路线?
在routes文件中,我有静态文件的默认路由
GET /public/ staticDir:public
Run Code Online (Sandbox Code Playgroud)
我相信这就是你想要的:
String imageUrl = Router.reverse(VirtualFile.fromRelativePath("public/images/" + type + "-icon.png"));
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1082 次 |
| 最近记录: |