小编mat*_*cik的帖子

Liftweb:创建一个可以传统和AJAX提交的表单

是否可以在Lift Web框架中创建通过AJAX做出反应的表单(和链接),但是也可以在没有Javascript支持的情况下工作?如果是这样,怎么样?

当我使用构建表单时<lift:form.ajax>,表单action被设置为javascript://不再没有JS提交.如果我在没有显式AJAX支持的情况下构建表单,我不知道如何插入AJAX功能.

我想我可以构建一个RESTful接口(无论如何我们必须构建它)并编写自定义Javascript以通过它提交表单.我想避免代码重复:如果可以使用相同的代码处理所有三个输入(RESTful,传统HTTP POST,AJAX),那将是最好的.

ajax scala lift

13
推荐指数
1
解决办法
1334
查看次数

提升:使用CSS转换为每个项创建AJAX超链接

我想创建一个项目列表,并在每个项目上都有一个执行某些操作的超链接,例如从列表中删除该项目.

我的模板看起来像这样:

<lift:surround with="default" at="content">
<div class="locations lift:Main.locations">
    <ul>
        <li class="one">
            <span class="name">Neverland</span>
            (<a href="#" class="delete">delete this</a>)
        </li>
    </ul>
</div>
</lift:surround>
Run Code Online (Sandbox Code Playgroud)

我正在使用以下CSS转换来填充它:

def locations = {
    ".one *" #> somecollection map { item =>
        ".name" #> item.name &
        ".delete" #> ????
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,而不是"????",我很想放线沿线的东西SHtml.a( ()=>delete(item), _),但_这里是类型CssSela的说法应该是NodeSeq

我当然可以简单xml.Text("delete this"),但我想重用模板内的文本.

或者有不同的方式来生成AJAX超链接?

ajax scala lift

6
推荐指数
1
解决办法
657
查看次数

使用 LIMIT 子句与简单地获取 N 个结果有何不同?

在我的应用程序中,我有一个对某个主题的响应表。结构大致如下:

CREATE TABLE responses (
    id INT NOT NULL PRIMARY KEY,
    topic_id INT NOT NULL,
    author_id INT NOT NULL,
    response TEXT
);
Run Code Online (Sandbox Code Playgroud)

id是一个自动递增字段,topic_idauthor_id为外键,也有相应的指标等。

我总是想按插入时间排序,通常是最近的。在大多数情况下,我将通过topic_id. 一个典型的查询如下所示:

SELECT * FROM responses WHERE topic_id=123 ORDER BY id DESC LIMIT 20;
-- or, for pagination:
SELECT * FROM responses WHERE topic_id=123 AND id < 456789 ORDER BY id DESC LIMIT 20;
Run Code Online (Sandbox Code Playgroud)

我想实现一个阻止列表 - 每个用户都有一个author_id他们不想看到的s列表。我需要检索前 20 个结果,不包括那些回复它们的author_ids和响应

确定是否应排除一行非常复杂,虽然可能可以在数据库中执行此操作(在 PL/SQL 中或通过预处理),但我希望将逻辑保留在应用程序中。所以我可以做两件事之一:

  1. 忘记 …

postgresql rdbms

5
推荐指数
1
解决办法
2009
查看次数

确定当前用户的文件权限

我正在寻找一种方法来确定POSIX兼容系统上当前用户的文件权限(即进程的UID).我不想尝试打开文件 - 这可能会弄乱目录和各种特殊文件.

我正在编译指定目录的目录列表,并为每个文件报告一堆东西:文件名,大小,类型(文件/目录/其他),权限(您可以阅读,您可以编写).对于大小和类型,我已经有stat可用的呼叫结果.

这就是我想出的:

if ((dirent->st_uid == getuid() && dirent->st_mode & S_IRUSR)
 || (dirent->st_gid == getgid() && dirent->st_mode & S_IRGRP)
 || (dirent->st_mode && S_IROTH)) entry->perm |= PERM_READ;
if ((dirent->st_uid == getuid() && dirent->st_mode & S_IWUSR)
 || (dirent->st_gid == getgid() && dirent->st_mode & S_IWGRP)
 || (dirent->st_mode && S_IWOTH)) entry->perm |= PERM_WRITE;
Run Code Online (Sandbox Code Playgroud)

我必须这样做,还是有一个简单的调用/宏可以完成同样的事情?ACL支持的加分点,虽然此时并非严格必要.

c unix posix file-permissions

3
推荐指数
1
解决办法
1726
查看次数

标签 统计

ajax ×2

lift ×2

scala ×2

c ×1

file-permissions ×1

posix ×1

postgresql ×1

rdbms ×1

unix ×1