带有Playframework的虚荣URL

时间:2011-02-13 14:08:37

标签: java playframework vanity-url

我想为在Vanity URL之上构建的Web应用程序创建Playframework

我尝试在主页index中添加Application方法的参数,如果我调用http://localhost:9000/?vanity_url而不是http://localhost:9000/vanity_url,则会有效。

我将如何实现这一目标?我希望用户创建自己的网址,解决方案必须是动态的,就像在Facebook上一样

1 个答案:

答案 0 :(得分:7)

在路线中你会放

GET /{<[a-z]+>fanPage}/? Page.showFanPage

有了这个你可以获得:

http://localhost:9000/facebook

我还建议使用play框架提供的slugify方法,通常你会检查数据库中是否存在slug,并查找slug以获取数据(fanpage的标题/谁是所有者粉丝专页/多少次观看/等等)

在表格中:

姓名:粉丝专页

pageID整数或bigint
title varchar
slu var varchar unique
所有者整数
内容文字

在代码中:

public static void showFanPage(String fanPage) {
    // use models to look for the slug
    // grab the data
    // do what you need to do
}

我在这里举例说明如何创建网址,因为我不知道你正在构建什么应用程序:
GET /post/slug/? Page.createPage
POST /post/slug/? Page.processPage

public static void createPage() {
         // remember to create the template
         render();
}

public static void processPage(String slugName) {
        // slugName refers to the input field
        // check if the slug exists and throw error if it does
        // process
}

(注意这只是一个例子,我不知道你正在构建什么样的应用程序) 我希望这有帮助,让我知道这是否是你的意思