相关疑难解决方法(0)

什么是JSF资源库以及如何使用它?

在JSF <h:outputStylesheet>,<h:outputScript><h:graphicImage>组件具有library属性.这是什么以及如何使用它?Web上有很多示例,它们使用如下公共内容/文件类型css,js以及img(或image)作为库名称,具体取决于所使用的标记:

<h:outputStylesheet library="css" name="style.css" />
<h:outputScript library="js" name="script.js" />
<h:graphicImage library="img" name="logo.png" />
Run Code Online (Sandbox Code Playgroud)

它有用吗?library这些示例中的值似乎只是重复标记名称已经表示的内容.对于<h:outputStylesheet>它来说,基于标签名称已经很明显它代表了一个"CSS库".与以下内容有什么不同,它们的工作方式相同?

<h:outputStylesheet name="css/style.css" />
<h:outputScript name="js/script.js" />
<h:graphicImage name="img/logo.png" />
Run Code Online (Sandbox Code Playgroud)

此外,生成的HTML输出有点不同.给定URL模式的上下文路径/contextnameFacesServlet映射*.xhtml,前者生成以下HTML,其库名称为请求参数:

<link rel="stylesheet" type="text/css" href="/contextname/javax.faces.resource/style.css.xhtml?ln=css" />
<script type="text/javascript" src="/contextname/javax.faces.resource/script.js.xhtml?ln=js"></script>
<img src="/contextname/javax.faces.resource/logo.png.xhtml?ln=img" alt="" />
Run Code Online (Sandbox Code Playgroud)

而后者在URI的路径中生成以下带有库名的HTML:

<link rel="stylesheet" type="text/css" href="/contextname/javax.faces.resource/css/style.css.xhtml" />
<script type="text/javascript" src="/contextname/javax.faces.resource/js/script.js.xhtml"></script>
<img src="/contextname/javax.faces.resource/img/logo.png.xhtml" alt="" />
Run Code Online (Sandbox Code Playgroud)

后一种方法在事后看来也比前一种方法更有意义.该library属性究竟有用吗?

resources jsf jsf-2

224
推荐指数
1
解决办法
12万
查看次数

如何使用JSF 2.0 Facelets在XHTML中包含另一个XHTML?

在XHTML页面中包含另一个XHTML页面的最正确方法是什么?我一直在尝试不同的方式,但都没有.

xhtml jsf facelets include jsf-2

216
推荐指数
2
解决办法
26万
查看次数

实体名称必须紧跟实体引用中的"&"

我想在我的*.xhtml页面上放一个打包游戏.(我使用的是jsf 2和primefaces 3.5)

然而,

当我在xhtml中"翻译"html页面时,我在此脚本中收到错误:

    <script>

    var el = document.getElementById("pacman");

    if (Modernizr.canvas && Modernizr.localstorage && 
        Modernizr.audio && (Modernizr.audio.ogg || Modernizr.audio.mp3)) {
      window.setTimeout(function () { PACMAN.init(el, "./"); }, 0);
    } else { 
      el.innerHTML = "Sorry, needs a decent browser<br /><small>" + 
        "(firefox 3.6+, Chrome 4+, Opera 10+ and Safari 4+)</small>";
    }
  </script>
Run Code Online (Sandbox Code Playgroud)

在线:

if (Modernizr.canvas && Modernizr.localstorage && 
Run Code Online (Sandbox Code Playgroud)

我得到:

实体名称必须紧跟实体引用中的"&".

知道怎么解决这个问题吗?

javascript xml xhtml jsf facelets

74
推荐指数
4
解决办法
17万
查看次数

如何使用自定义样式覆盖默认的PrimeFaces CSS?

我已经创建了自己的主题作为单独的Maven项目,并且它已正确加载.

现在我想改变组件的大小.例如,a <p:orderList>.它有一个名为的类ui-orderlist-list,它primefaces.css以固定的200x200维度定义.无论我在我身上做什么theme.css,它都会被这个属性所覆盖,我无法将内容作为<p:orderList>更广泛的内容.

对于其他组件,我可能只想覆盖组件的一个实例,而不是全部.

任何人都可以告诉我,我怎么能做到这一切?

css jsf themes overriding primefaces

61
推荐指数
2
解决办法
8万
查看次数

我需要将哪些XHTML文件放入/ WEB-INF中,哪些不是?

在这些问题之后:

我写了所有来解决JSF2框架的"愚蠢"问题,我无法直接链接到存储在/WEB-INF子文件夹中的页面.之后我做了一些关于Google和Stackoverflow的研究我会知道一件事:我如何构建一个JSF2 Web项目?

特别是,我在哪里放置XHTML页面?

jsf facelets web-inf jsf-2

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

解析XHTML时出错:元素的内容必须由格式良好的字符数据或标记组成

作为这个问题的扩展,我试图将Javascript插入到已经呈现ajax表<h:commandButton />onclick属性action中.

我想做什么:在列表框中获取所选项目并将其转换为要在JSF中使用的参数FileServlet.即para2=value1&param=value2&param=value3

这就是我所拥有的:

<script type ="text/javascript">
function myScript() {
    var box = document.getElementbyId('myForm:box');
    var length = box.options.length;
    var paramstring = "";
    for (var i = 0; i < length; i++) {
        if (i != (length - 1) {
            if (box.options[i].selected) {
                paramstring = paramstring + "param=" + box.options[i].value + "&amp;";
            }
        } else {
            paramstring = paramstring + "param=" + box.options[i].value;
        }
    }
    if (document.getElementById('myForm:checkbox').checked) {
        window.location='fileServlet? + …
Run Code Online (Sandbox Code Playgroud)

javascript xhtml jsf facelets jsf-2

38
推荐指数
3
解决办法
11万
查看次数

具有共享代码的多个JSF项目的结构

我有两个共享大量代码的JSF项目 - java类,xhtml文件,标记库,css和javascript文件等.我的开发环境/平台主要包括Eclipse,Ant,Perforce和Tomcat.

有没有人找到一种方法来创建和组织共享代码,以便公共代码可以保留在一组文件夹中?

Eclipse可以很容易地为java源添加外部文件夹,但不能满足其他文件类型.我很欣赏任何想法.

eclipse jsf projects structure

35
推荐指数
1
解决办法
2万
查看次数

如何将JSF图像资源引用为CSS背景图像url

我经常使用图像属性更改按钮的图像,但有人告诉我,使用.css这是一个很好的做法我试过但我不能,我做错了什么?这就是我做的:

1 - 我的项目资源存储如下:

在此输入图像描述

2 - 这就是我创建style.css以访问图像的方式

.c2 {
    background: url(/resources/images/smiley.jpg);  
}
Run Code Online (Sandbox Code Playgroud)

3 - 这是我从我的页面正文访问css的方式(我确定这是正确的,因为同一文档中的其他类适用于此页面中的其他标记)

<h:outputStylesheet library="css" name="style.css"  />
Run Code Online (Sandbox Code Playgroud)

4 - 这是创建使用适当的css类的示例commandButton的方法

<h:commandButton styleClass="c2"/>
Run Code Online (Sandbox Code Playgroud)

我认为问题出现在.css中,我尝试了几种组合但没有效果:

background-image: url(/resources/images/smiley.jpg);    
background: url(resources/images/smiley.jpg);   
background: url(smiley.jpg);    
background: url(../smiley.jpg); 
Run Code Online (Sandbox Code Playgroud)

哪里出错了?

更新 我设法通过以下代码使其工作:

.c2 {   
     background: url("#{resource['images:smiley.jpg']}");               
    }
Run Code Online (Sandbox Code Playgroud)

注意我使用css(右)和使用图像属性时的差异(左)

在此输入图像描述

我怎么能解决这个问题,以便显示保持图像?

css resources jsf background-image jsf-2

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

将favicon添加到JSF项目并在<link>中引用它

如何将一个favicon添加到JSF项目并在<link>元素中引用它?

我试过如下:

<h:head>
    <link rel="icon" type="image/x-icon" href="images/favicon.ico"/>
    ...
</h:head>
Run Code Online (Sandbox Code Playgroud)

但是,它没有显示任何图标.

html favicon jsf

27
推荐指数
3
解决办法
3万
查看次数

JSF/Facelets:使用<h:outputStylesheet>标记无法识别CSS文件

我正在使用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)

html css jsf facelets

18
推荐指数
1
解决办法
4万
查看次数