相关疑难解决方法(0)

如何从特定PrimeFaces删除边框p:panelGrid?

我很难从特定的PrimeFaces中删除边界<p:panelGrid>.

<p:panelGrid styleClass="companyHeaderGrid">
    <p:row>
        <p:column>
            Some tags
        </p:column>
        <p:column>
            Some tags
        </p:column>
    </p:row>
</p:panelGrid>
Run Code Online (Sandbox Code Playgroud)

我已经能够从单元格中删除边框:

.companyHeaderGrid td {
    border: none;
}
Run Code Online (Sandbox Code Playgroud)

.companyHeaderGrid {
    border: none;
}
Run Code Online (Sandbox Code Playgroud)

不行.

css jsf facelets primefaces

57
推荐指数
5
解决办法
13万
查看次数

如何在Facelets模板中引用CSS/JS /图像资源?

我已经完成了关于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和图像)资源的最佳方法是什么?

resources jsf facelets templating jsf-2

53
推荐指数
2
解决办法
6万
查看次数

如何覆盖PrimeFaces的样式表?

简单地说,我试图通过FireBug在生成的HTML中查看组件的名称,之后我在JSF项目中手动定义的css中更改它,但无法覆盖PrimeFaces的CSS定义.提前感谢任何想法.

css jsf primefaces

12
推荐指数
2
解决办法
4万
查看次数

Richfaces Skin Overriding Styleclass

我有一个JSF2/Richfaces 4项目,其中我想使用其中一个默认皮肤,但我也想使用我自己的自定义样式表设置一些东西的样式.这听起来很简单,但我发现至少在某些情况下,我自己的风格没有被使用.为了明确,这是我的相关web.xml context-params:

<context-param>
    <param-name>org.richfaces.skin</param-name>
    <param-value>blueSky</param-value>
</context-param>
<context-param>
    <param-name>org.richfaces.control_skinning</param-name>
    <param-value>enable</param-value>
</context-param>
<context-param>
    <param-name>org.richfaces.control_skinning_classes</param-name>
    <param-value>enable</param-value>
</context-param>
Run Code Online (Sandbox Code Playgroud)

我的CSS文件包含:

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

一个这样的实际样式定义:

.obsOptBtnSel{
background-color: transparent;
background-image: url('/images/circleY.gif');
background-repeat: no-repeat;
background-position: center;
border: none;
text-align: center;
width: 2em;
height: 2em;
}
Run Code Online (Sandbox Code Playgroud)

而实际按钮使用的风格:

<h:commandButton
value="?"
styleClass="#{obs.observation.observationExtent == -1.0 ? 'obsOptBtnSel' : 'obsOptBtnUns'}"
id="unknownButton"
/>
Run Code Online (Sandbox Code Playgroud)

所以,人们会认为我会从相关的blueSky皮肤继承样式,然后因为我指定了样式类,所以自定义样式表中提到的任何属性都将被覆盖.

但相反,当我查看Firebug中的元素时,我看到我的styleClass被皮肤指定的覆盖,例如它继续使用blueSky背景图像而不是我的.

我知道我可以通过简单地在样式表中将所有样式放入!important来解决这个问题,但这似乎是一个非常糟糕和不必要的方法来处理这个问题.

我在这做错了什么?还有其他解决方案吗?

css richfaces stylesheet jsf-2

11
推荐指数
1
解决办法
8219
查看次数

全局更改Primefaces中的默认样式

我应该如何更改默认的primefaces样式并将其应用于全局且只应用一次?

.ui-widget,.ui-widget .ui-widget {
    font-size: 90% !important;
}
Run Code Online (Sandbox Code Playgroud)

目前,我将这个CSS片段嵌入到每个XHTML页面的头部.

<head>
    <style type="text/css">
        .ui-widget,.ui-widget .ui-widget {
            font-size: 90% !important;
        }
    </style>
</head>
Run Code Online (Sandbox Code Playgroud)

css jsf primefaces jsf-2

11
推荐指数
2
解决办法
4万
查看次数

如何在数据表中的一列中显示2行?

我的应用程序中有一个数据表.一列有大量数据,增加了表格的宽度.

我想将数据拆分为该列中的两行或更多行.

我试过设置该列的宽度,但数据没有拆分,也没有显示总数据.

<p:column headerText="#{msgs['exception.label.exceptionMsg']}" width="200">
         <h:outputText value="#{exception.exceptionMsg}"/>
</p:column>
Run Code Online (Sandbox Code Playgroud)

我该如何拆分数据?

datatable jsf alignment primefaces jsf-2

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

更改手风琴面板选项卡的颜色

我正在使用primefaces的手风琴面板.在选项卡内部,我有以编程方式创建的表单.每个表单都有一个提交按钮.现在我想更改选项卡的颜色,如果已提交此选项卡的表单.那么有可能改变一个特定标签的颜色,我怎么能设法使这个工作?

我想我必须使用这里提到的不同的样式类,但我不太确定如何使用它们.

如何从辅助bean突出显示primefaces树节点

任何帮助表示赞赏

css jsf primefaces

6
推荐指数
1
解决办法
8228
查看次数

如何在数据表中创建可水平滚动的单元格

这与PrimeFaces有关,但我认为这个问题同样适用于标准的JSF数据表.

我有一个数据表列,其中的条目是自动换行的,因为内容可能很长.为了使显示更具可读性,我希望内容不被包装,而是提供水平滚动以查看默认情况下不显示的内容.

我确信这是一个简单的CSS修改,但我的熟练程度非常低.

<p:dataTable ... >

    <p:column headerText="Book Title">
         <h:outputText value="#{book.title}" style="???" />
Run Code Online (Sandbox Code Playgroud)

css primefaces jsf-2

6
推荐指数
1
解决办法
2801
查看次数

在特定的p:dataTable组件上应用CSS,而不是在所有p:dataTable组件上应用CSS

我在请求表单上有多个数据表.我想删除所有数据表的边框除了一个.我使用下面的样式删除边框.能告诉我如何才能获得一个带边框的数据表.截至目前,它删除了所有数据表的边框.

.ui-datatable .ui-datatable-data td, .ui-datatable .ui-datatable-data-empty td {
  border-style: none;
}
Run Code Online (Sandbox Code Playgroud)

css datatable jsf primefaces

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

使用ui:repeat的复合组件在调用方法中缺少参数值

因此,经过几天的调试,我们最终能够重现复合组件之间的一些奇怪的交互ui:repeat,p:remoteCommand以及我们不理解的JSF中的部分状态保存.

脚本

复合组件使用迭代对象列表ui:repeat.在每次迭代期间,包含另一个复合组件并传递参数.

<ui:composition (...)>
  <ui:repeat var="myVar" value="#{cc.attrs.controller.someList}">
    <namespace:myRemoteCommand someParam="SomeParam"/>
Run Code Online (Sandbox Code Playgroud)

在包含的复合组件中,有一个自动运行p:remoteCommand调用方法,该方法使用组件接口中定义的参数.

<ui:component (...)>
  <p:remoteCommand actionListener="#{someBean.someMethod(cc.attrs.someParam)}"
                   autoRun="true"
                   async="true"
                   global="false">
Run Code Online (Sandbox Code Playgroud)

但是,在设置断点时someMethod(...),会传递一个空字符串.仅当部分状态保存设置为false时才会发生这种情况.

解决方案

我们尝试了几种解决方案,以下方案似乎有效(但我们不明白为什么,也无法预见可能发生的任何其他问题):

  • 我们可以将部分状态保存设置为true.

  • 我们可以将复合组件模式更改为ui:include.

  • 我们可以删除一个或两个复合组件,而是直接包含内容.

为什么JSF会这样做?复合组件ui:repeat和参数传递之间的这种交互是什么,这取决于我们是否使用ui:include/部分状态保存?

我们使用的是Primefaces 5.3,Glassfish 4.1,Mojarra 2.2.12,Java 8.

jsf primefaces composite-component mojarra uirepeat

6
推荐指数
1
解决办法
278
查看次数