是否可以将现有的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类的标记.
Primefaces 3.5,Omnifaces 1.6
我有一组带图标的按钮.按钮具有在页面上执行的操作(例如删除或在数据表中添加新行).我想添加一个看起来与按钮完全相同的新"东西",但是有一个外部链接.如果单击此新按钮,则必须打开新选项卡/窗口.为此,我正在使用p:commandButton和h: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)
我怎样才能做到这一点?
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?
我的配置是: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实现接口注入失败
我想访问资源图,而不是像我的CCS文件那样
background-image: url("#{resource['primefaces-supertheme:images/ui-icons_ffffff_0.png']}");
Run Code Online (Sandbox Code Playgroud)
但是来自我的豆子.只有EL评估才可能吗?
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) 爪哇1.6
我有一个带有许多参数的方法。这不是构造函数,而是普通方法。
class A {
public void m (int a, int b, boolean c, List<>...) { }
}
Run Code Online (Sandbox Code Playgroud)
如何将一种方法替换为更好的形式?据我了解,Builder设计模式是为构造者设计的。
在我的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"被引用,但未声明.
然后不解析HTML 实体.该实体使用如下:
<p:menuitem value=" My menuitem">
Run Code Online (Sandbox Code Playgroud)
这是怎么造成的,我该如何解决?
我对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) 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.