- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个 Catalyst 应用程序,目前我有一个简单的登录页面,其中还包含一个“忘记密码”链接。一切正常,除了当我单击“忘记密码”链接时,它应该将我带到一个全新的 html 页面,该页面只包含“不幸的是,你应该记住它”这几个字。相反,我收到“找不到页面”错误。
我在做什么:
我有一个名为 Login.pm 的 Controller ,其中包含以下内容:
sub default : Private {
my ( $self, $c ) = @_;
$c->forward('login');
}
sub login : Path('/login') {
my ( $self, $c ) = @_;
$c->stash->{title} = "Login page";
$c->stash->{page} = "html";
$c->stash->{template} = "login.html";
}
以上所有工作正常并生成登录页面。
在 Catalyst root/login.html 文件(连同所有其他位,如按钮)中,我有以下代码,应该允许我链接到“忘记密码”html 页面.
<p><a href="forgotpassword.html">Forgot Password?</a></p>
它引用的 root/forgotpassword.html 文件包含以下内容:
<!DOCTYPE html>
<html>
<body>
<h1>Unlucky, you should have remembered it</h1>
</body>
</html>
但是,当我点击登录页面上的“忘记密码”链接时,它会转到“mydomainname/forgotpassword.html”并显示“找不到页面”。
我需要为忘记密码页面创建一个 Controller 吗?如果是这样,它需要包含什么?还是我忽略了一些明显的东西?
我是 Catalyst 的新手。
最佳答案
终于解决了这个问题,感谢“mikew”推荐我引用 CPAN 食谱的“服务静态内容”部分。
问题是什么:
我使用下面的 html5 代码引用了一个简单的 html 页面,该页面不需要与 Catalyst 交互即可工作。
<p><a href="forgotpassword.html">Forgot Password?</a></p>
然而,如Cookbook中所述和 Catalyst::Plugin::Static::Simple
“默认情况下,不提供以下扩展名(即它们将由 Catalyst 处理):tmpl、tt、tt2、html、xhtml。”
和
“有些文件类型您可能不希望用作静态文件。此类中最重要的是原始模板文件。默认情况下,扩展名为 tmpl、tt、tt2、html 和 xhtml 的文件为了安全起见,将被 Static::Simple 忽略。”
为了防止“找不到页面”错误(默认情况下会忽略 html 页面),您需要将以下内容添加到 MyApp.pm 文件中,确保删除扩展名你不想被忽略(在我的例子中是 html 文件)。
MyApp->config(
static => {
ignore_extensions => [
qw/tmpl tt tt2 xhtml/
],
},
);
关于html - Perl Catalyst - 使用 href 链接到同一站点上的页面时找不到页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19431531/
我正在开发一个 voip 调用应用程序。我需要做的是在接到来电时将 Activity 带到前台。我在应用程序中使用 Twilio,并在收到推送消息时开始调用。 问题是我试图在接到任何电话时显示 Act
我是一名优秀的程序员,十分优秀!