如何在Perl中生成分页链接?

时间:2011-07-12 09:14:31

标签: perl http

每个链接都与当前请求的uri具有相同的网址,但page参数可能不同。

如何在Perl中生成此类链接?

1 个答案:

答案 0 :(得分:3)

您似乎不了解基础知识。去阅读一两本关于Web编程的入门书。

  1. 构造一个URI对象。

    use URI qw();
    
    • 在CGI中,将它拼凑在一起from the enviroment。 (堆叠器,有没有更好的方法/便利方法我忽略了?)

      my $current = 'http://example.com/?search=foobar';
      my $u = URI->new($current);
      
    • 在PSGI中,使用uri方法。

      use Plack::Request qw();
      …
      my $req = Plack::Request->new($env);
      my $u = $req->uri;
      
    • 高级框架应该提供自己的访问者。在Catalyst中:

      my $u = $c->request->uri;
      
  2. 改变查询字符串以包含paging参数。

    use URI::QueryParam qw();
    $u->query_param(page => 13);
    $u->as_string; # returns  http://example.com/?search=foobar&page=13
    
  3. query_param DTRT并覆盖参数,即使该参数已经设置。

    $u->query_param(page => 42);
    $u->as_string; # returns  http://example.com/?search=foobar&page=42