我正在使用JSF/Facelets开发一个项目.我想在我的View XHTML上做一些CSS更改,但是当我在Tomcat服务器中部署我的Web应用程序时没有任何反应.我尝试了很多技巧,但我得到了相同的结果.
无论如何,这是我的"styles.css":
body { width: 750px; }
#header
{
width: 100%;
font-size: 36px;
font-weight: bold;
line-height: 48px;
background-color: navy;
color: white;
}
#footer
{
width: 100%;
font-weight: bold;
background-color: navy;
color: white;
}
Run Code Online (Sandbox Code Playgroud)
这是主要模板"Template.html",包括"Header.html"和"Footer.html",其中我使用标签放置我的"styles.css":
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets">
<head>
<h:outputStylesheet name="css/styles.css" />
<!-- i've also tried this one, using the "library" attribute -->
<!--
<h:outputStylesheet library="css" name="styles.css" />
-->
</head>
<h:body>
<h:panelGroup id="page" layout="block">
<h:panelGroup id="header" layout="block">
<ui:insert name="header">
<ui:include …Run Code Online (Sandbox Code Playgroud) 我想使用jQuery Validate插件和JSF进行客户端表单验证.我发现导入资源的基本困难.
在我的JSF页面中
<h:outputScript library="js" name="jquery-1.6.2.js"></h:outputScript>
<h:outputScript library="js" name="jquery.validate.js"></h:outputScript>
<h:outputScript library="js" name="jquery.maskedinput.js"></h:outputScript>
<h:outputScript library="js" name="myapp.validate.js"></h:outputScript>
Run Code Online (Sandbox Code Playgroud)
当我单击Firefox中的脚本选项卡时,我无法在下拉列表中看到任何脚本文件.有一条消息显示:
如果标签具有"type"属性,则它应该等于"text/javascript"或"application/javascript".脚本也必须是可解析的(语法正确).
我的jquery效果如鼠标悬停,隐藏,显示等不起作用.我尝试使用通常的脚本标签
<script type="text/javascript" src="../js/jquery-1.6.2.js"></script>
<script type="text/javascript" src="../js/jquery.validate.js"></script>
<script type="text/javascript" src="../js/jquery.maskedinput.js"></script>
<script type="text/javascript" src="../js/myapp.validate.js"></script>
Run Code Online (Sandbox Code Playgroud)
哪个没用.仍然无法找到我的JS文件.我的所有JS文件都放在
Web pages
|_ js
|_jquery-1.6.2.js,my.validate.js,jquery.validate.js,jquery.maskedinput.js
Run Code Online (Sandbox Code Playgroud)
我尝试了使用jQuery和JSF 2.0资源发布的解决方案之一,但没有成功.
请建议我解决这个问题.我不想在ajax中使用JSF内置验证,因为我们将代码从JSP移到JSF并且已经编写了验证.我想重用我之前写过的现有jQuery验证.
如何编写一个过滤器,根据Google的建议(https://developers.google.com/speed/docs/best-practices/caching)适当缓存静态资源.
是否足以创建一个过滤器,将过去修改的日期设置为某个静态日期(每次服务器重新启动时都会更改)?
为所有可缓存资源指定Expires或Cache-Control max-age之一以及Last-Modified或ETag之一非常重要.指定Expires和Cache-Control:max-age或指定Last-Modified和ETag都是多余的.
上面的链接似乎建议您需要指定Expires或Cache-Control.为什么这有必要?
我开始学习JavaServer Faces(JSF).我正在使用GlassFish 3+.我刚刚在NetBeans中创建了一个新的JSF项目并运行该项目.它工作正常,但在检查XHTML输出时,我注意到XML声明留在了.这弄乱了DOCTYPE声明(它总是应该是文档中的第一个).

JSF应该删除XML声明,还是我做错了什么?
我正在使用JSF来呈现HTML页面.我像这样设计页面:
<f:view xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:p="http://primefaces.org/ui"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<h:head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<meta name="language" content="fr" />
<title><ui:insert name="title">My app</ui:insert></title>
</h:head>
<h:body>
<div id="top">
<ui:include src="/header.xhtml"/>
</div>
<h:panelGroup id="center" layout="block" >
<ui:insert name="center"/>
</h:panelGroup>
<div id="bottom">
<ui:include src="/footer.xhtml"/>
</div>
</h:body>
Run Code Online (Sandbox Code Playgroud)
此模板有一些"客户端"页面,如下所示:
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"
template="/layouts/master.xhtml">
<ui:define name="center">
<ui:define name="title"><h:outputText value="#{myBean.description}"/></ui:define>
<ui:include src="#{myBean.url}"/>
</ui:define>
Run Code Online (Sandbox Code Playgroud)
在客户端,我必须在标题中添加元信息.如果我们有像outputScript或outputStylesheet这样的标签,可以在文档中的任何地方设置并在html"head"标签中呈现,那就太棒了.
我没有发现任何事情.当我处于这种情况时,有没有办法在标题中添加标记?谢谢 !
我正在尝试将Font Awesome集成到JSF中.
<h:outputStylesheet library="font-awesome" name="css/font-awesome.min.css" />
Run Code Online (Sandbox Code Playgroud)
但是浏览器找不到字体文件.它们显示为空方块:

我希望它们如下所示:

这是怎么造成的,我该如何解决?
在处理JSF中的ajax按钮(特别是primefaces)时,可以将鼠标光标的形式更改为繁忙模式(例如:沙漏)?我希望更改我的光标的形式,而我的p:dataTable在我导航到下一页时加载数据.谢谢.
我想知道我是否可以使用<h:outputStylesheet/>从外部资源链接CSS.我想链接雅虎网格.使用以下代码,我得到了一个RES_NOT_FOUND:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:p="http://primefaces.prime.com.tr/ui"
xmlns:tcmt="http://java.sun.com/jsf/composite/tcmt/component">
<h:head>
</h:head>
<h:body>
<h:outputStylesheet library="css" name="http://yui.yahooapis.com/3.3.0/build/cssgrids/grids-min.css" target="head" />
</h:body>
</html>
Run Code Online (Sandbox Code Playgroud) 我正在研究JSF Web应用程序.每当我更改CSS文件并首次部署程序时,CSS文件中的更改都不会反映出来.我在不同情况下测试过它.这是怎么造成的,我该如何解决?
我想使用外部字体WebSymbols
我把它放在我的stylesheet.css声明中
@font-face{
font-family: 'WebSymbolsRegular';
src: url('websymbols-regular-webfont.eot');
src: url('websymbols-regular-webfont.eot?#iefix') format('embedded-opentype'),
url('websymbols-regular-webfont.woff') format('woff'),
url('websymbols-regular-webfont.ttf') format('truetype'),
url('websymbols-regular-webfont.svg#WebSymbolsRegular') format('svg');
}
.fakeImage {
font-family: 'WebSymbolsRegular';
font-size: 12px;
text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)
我的stylesheet.css位于META-INF/resources/css/stylesheet.css文件中.我将字体文件(eot,svg等)放在同一目录中 - META-INF/resources/css.在我的jsf页面的标题中,我引用了这个样式表:
<h:outputStylesheet library="css" name="stylesheet.css" />
Run Code Online (Sandbox Code Playgroud)
但是我没有使用字体中的特殊符号来获得常规文本.所有其他CSS样式都正常工作.知道如何使用自定义字体吗?
jsf ×7
css ×4
facelets ×4
jsf-2 ×4
ajax ×1
composition ×1
external-url ×1
font-awesome ×1
font-face ×1
head ×1
html ×1
jquery ×1
mouse-cursor ×1
primefaces ×1
xml ×1