小编Ton*_*ony的帖子

如何在不复制的情况下在另一个类中重用css类内容?

是否可以将现有的css类用作另一个类中的内容?

我的意思是:

Contained in some library:
.class1 { text-indent: 100 }

 I can not change this:
 <span class="class2" />
Run Code Online (Sandbox Code Playgroud)

class2的定义也包含在另一个库中.所以我无法直接改变它.

But I want to do something like that in my CSS file:
.class2 { .class1 }
Run Code Online (Sandbox Code Playgroud)

我知道这种形式是不可能的.但也许可以使用一些技巧来实现行为而不复制内容class1?我需要这个,因为我想用另一个CSS类的内容重新定义类.我们的项目也使用JQuery,但我会用CSS做.

编辑:我应该解释更多,我无法改变如何定义.class1,因为这个类在库中,我无法更改span类的标记.

html css jquery

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

设置一个JSF外部链接以使其看起来像一个按钮

Primefaces 3.5,Omnifaces 1.6

我有一组带图标的按钮.按钮具有在页面上执行的操作(例如删除或在数据表中添加新行).我想添加一个看起来与按钮完全相同的新"东西",但是有一个外部链接.如果单击此新按钮,则必须打开新选项卡/窗口.为此,我正在使用p:commandButtonh:outputLink.

<p:commandButton action="#{bean.do1}" icon= ...>
<p:commandButton action="#{bean.do2}" icon= ...>

<h:outputLink value="#{bean.url}" target="_blank"> 
  <i class="icon-external-link"></i> 
</h:outputLink>
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

jsf primefaces jsf-2

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

如何在jar中使用JSF版本控制资源

PF 3.5.10,Mojarra 2.1.21,omnifaces 1.5

我有一个JSF库(仅限css文件).该库位于.jar文件中.css将包含在xhtml中 <h:outputStylesheet library="mylib" name="css/mycss.css">.

在html中,它呈现如下: localhost:8080/cms/javax.faces.resource/css/mycss.css.jsf?ln=mylib

primefaces的CSS文件呈现为: localhost:8080/cms/javax.faces.resource/primefaces.js.jsf?ln=primefaces&v=3.5.10

注意最后的库版本(&3.5.10).我怎么能做同样的事情?我应该在Manifest.mf中编写版本吗?或者如何在jar文件中使用jsf-versioning?

versioning resources jar jsf-2

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

是否可以使用CDI注入EJB实现而不是其接口?

我的配置是:Wildfly 8.2.0,Weld

是否可以在bean中注入,而不是在CDI的接口中注入?

@Stateless
class Bean implements IBean {
...
}    

interface IBean {
...
}

@SessionScoped
class Scoped {
   @Inject
   Bean bean; //Fail

   @Inject
   IBean iBean; //OK
}
Run Code Online (Sandbox Code Playgroud)

编辑:

我在上一个问题中的更多信息: 无状态EJB实现接口注入失败

java dependency-injection ejb cdi weld

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

如何在JSF中以编程方式获取资源图?

我想访问资源图,而不是像我的CCS文件那样

background-image: url("#{resource['primefaces-supertheme:images/ui-icons_ffffff_0.png']}");
Run Code Online (Sandbox Code Playgroud)

但是来自我的豆子.只有EL评估才可能吗?

resources jsf jsf-2

5
推荐指数
1
解决办法
1860
查看次数

如何在一个EAR中的两个WAR中使用OmniFaces 1.6?

JBoss 7.1,OmniFaces 1.6,Eclipse Kepler,CDI 1.0

当我从OmniFaces 1.5更新到OmniFaces 1.6时,我发现了新Omnifaces 1.6的以下情况.我想这与OmniFaces 1.6新的有趣的CDI功能有关.

我在一个EAR存档中有两个基于JSF的WAR项目,两个项目都将OmniFaces作为依赖项,它们都将被部署.在部署中,OmniFaces 1.6最终进入/WEB-INF/lib两个WAR项目.在JBoss开始时,它IllegalArgumentException被扔了.

java.lang.IllegalArgumentException: Registering converter 'class org.omnifaces.converter.ListConverter' failed, duplicates converter ID 'omnifaces.ListConverter' of other converter 'class org.omnifaces.converter.ListConverter'.
    at org.omnifaces.cdi.converter.ConverterExtension.processConverters(ConverterExtension.java:78)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.jboss.weld.util.reflection.SecureReflections$13.work(SecureReflections.java:264)
    at org.jboss.weld.util.reflection.SecureReflectionAccess.run(SecureReflectionAccess.java:52)
    at org.jboss.weld.util.reflection.SecureReflectionAccess.runAsInvocation(SecureReflectionAccess.java:137)
    at org.jboss.weld.util.reflection.SecureReflections.invoke(SecureReflections.java:260)
    at org.jboss.weld.introspector.jlr.WeldMethodImpl.invokeOnInstance(WeldMethodImpl.java:170)
    at org.jboss.weld.introspector.ForwardingWeldMethod.invokeOnInstance(ForwardingWeldMethod.java:51)
    at org.jboss.weld.injection.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:154)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:241)
    at org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:229)
    at org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:207)
    at org.jboss.weld.manager.BeanManagerImpl.notifyObservers(BeanManagerImpl.java:569)
    at org.jboss.weld.manager.BeanManagerImpl.fireEvent(BeanManagerImpl.java:559)
    at org.jboss.weld.bootstrap.events.AbstractContainerEvent.fire(AbstractContainerEvent.java:60)
    at org.jboss.weld.bootstrap.events.AbstractDefinitionContainerEvent.fire(AbstractDefinitionContainerEvent.java:38)
    at org.jboss.weld.bootstrap.events.ProcessManagedBeanImpl.fire(ProcessManagedBeanImpl.java:30)
    at org.jboss.weld.bootstrap.AbstractBeanDeployer.deploy(AbstractBeanDeployer.java:123)
    at org.jboss.weld.bootstrap.BeanDeployment.deployBeans(BeanDeployment.java:204)
    at org.jboss.weld.bootstrap.WeldBootstrap.deployBeans(WeldBootstrap.java:344)
    at org.jboss.as.weld.WeldContainer.start(WeldContainer.java:82) …
Run Code Online (Sandbox Code Playgroud)

ear jsf cdi jsf-2 omnifaces

5
推荐指数
1
解决办法
339
查看次数

设计模式替换具有多个参数的方法

爪哇1.6

我有一个带有许多参数的方法。这不是构造函数,而是普通方法。

 class A {
   public void m (int a, int b, boolean c, List<>...) { }
 }
Run Code Online (Sandbox Code Playgroud)

如何将一种方法替换为更好的形式?据我了解,Builder设计模式是为构造者设计的。

java design-patterns builder

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

javax.faces.view.facelets.FaceletException:错误解析/template.xhtml:引用了实体"nbsp",但未声明

在我的Facelets模板中,我使用了XHTML doctype:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
Run Code Online (Sandbox Code Playgroud)

我想根据一般建议将其更改为HTML5 doctype:

<!DOCTYPE html>
Run Code Online (Sandbox Code Playgroud)

但是,JSF抛出了一个解析错误:

javax.faces.view.facelets.FaceletException:Error Parsing /template.xhtml:Error Traced [line:42]实体"nbsp"被引用,但未声明.

&nbsp;然后不解析HTML 实体.该实体使用如下:

<p:menuitem value="&nbsp;My menuitem">
Run Code Online (Sandbox Code Playgroud)

这是怎么造成的,我该如何解决?

jsf doctype html-entities jsf-2

5
推荐指数
1
解决办法
5083
查看次数

强制Oracle数据库不实现CTE

我对cte有一些问题,如果我使用这个查询oracle实现了cte1视图和查询会很慢

with cte1 as (..),
    cte2 as ( ... use cte1 ...),
    cte3 as ( ... use cte1 ...)
select * from  cte2  join cte3
  on ...
Run Code Online (Sandbox Code Playgroud)

在以下查询中,Oracle没有实现cte1,查询速度比以前快20倍:

with cte1 as (..),
    cte2 as ( ... use cte1 ...)
select * from cte2 on ....
Run Code Online (Sandbox Code Playgroud)

同样

with cte1 as (..),
    cte3 as ( ... use cte1 ...)
select * from cte3 on ....
Run Code Online (Sandbox Code Playgroud)

是否有可能强制Oracle不实现CTE,因此它将使用idexes?

查询1的执行计划:

Plan hash value: 1038428573

--------------------------------------------------------------------------------------------------------------
| Id  | Operation                      | Name                        | Rows  | Bytes …
Run Code Online (Sandbox Code Playgroud)

sql oracle view materialized-views

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

如何在加载JSF页面之前在辅助bean中启动特殊的init事件?

PF 3.5.10,Mojarra 2.1.21,Omnifaces 1.5

如何在加载.xhtml JSF页面之前调用特殊的init() - 某些(CDI)SessionScoped bean的方法?现在我调用init(),如果用户从站点菜单中选择页面(带p:menutitem).但是如果用户使用浏览器地址行直接输入url该怎么办?

编辑my.xhtml::

<ui:define template="/mytemp.xhtml">
   <f:event type="preRenderView" listener="#{mybean.init()}" />
   <h:form>
     <p:commandButton update="@form" ... />
   </h:form>
</ui:define>
Run Code Online (Sandbox Code Playgroud)

如果我这样做,init()将在每次更新时调用(即每次回发到服务器),例如每次单击commandButton时.所以我不能使用你的提议.

编辑2:谢谢Luiggi Mendoza和BalusC!除了Luiggi Mendoza的解决方案之外,正如评论所述,Omnifaces 1.6也将拥有ViewScope.

jsf cdi jsf-2

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