我已经完成了关于Facelets模板的教程.
现在我尝试创建一个与模板不在同一目录中的页面.我有页面样式的问题,因为样式用相对路径引用,如下所示:
<link rel="stylesheet" href="style_resource_path.css" />
Run Code Online (Sandbox Code Playgroud)
我可以通过以下开头使用绝对引用/:
<link rel="stylesheet" href="/project_root_path/style_resource_path.css" />
Run Code Online (Sandbox Code Playgroud)
但是,当我将应用程序移动到不同的环境时,这将给我带来麻烦.
所以我想知道在Facelets中引用CSS(以及JS和图像)资源的最佳方法是什么?
我理解如何使用javascript在页面制作和ajax调用时将光标更改为busy.
但是我有一个不使用ajax的页面,它使用回发来重新加载页面.然而,负载相当数据密集,需要几秒钟.在此期间,用户仍然可以单击该页面.我想将光标变为"等待",因此用户不会尝试单击该页面.
例如,我有几个导致回发的下拉列表.我做了一个选择,页面加载3秒钟.当它加载时我希望光标转向等待,这样用户就不会尝试在第二个下拉列表中进行选择,直到页面重新加载.
这可能吗?
附加信息:(我的设置的简化版)
我有一个主页:
<form id="form1" runat="server">
<table width = "100%" bgcolor="White">
<tr><td>
<h3><asp:ContentPlaceHolder id="MAIN" runat="server"></asp:ContentPlaceHolder></h3>
</tr></td>
</table>
</form>
<script type="text/javascript">
function cursorwait(e) {
document.body.style.cursor = 'wait';
}
var fm = document.getElementById('<% =form1.ClientID %>');
if (fm.addEventListener) {
fm.addEventListener('submit', cursorwait, false);
}
else {
fm.attachEvent('onsubmit', cursorwait);
}
</script>
Run Code Online (Sandbox Code Playgroud)
然后是使用母版页的页面:
<asp:Content ID="Content1" ContentPlaceHolderID="MAIN" Runat="Server">
<table runat=server id="tb_simple_search_table" cellpadding = 0 cellspacing = 0>
<tr><td>
<asp:DropDownList...
<asp:DropDownList...
</td></tr>
</table>
</asp:content>
Run Code Online (Sandbox Code Playgroud) asp.net ×1
cursor ×1
facelets ×1
javascript ×1
jsf ×1
jsf-2 ×1
postback ×1
resources ×1
templating ×1