2011-03-18 68 views
0

我有两个xhtml-s,其中一个包括另一个。我的问题是参数传递不工作对我来说:icefaces包含参数传递

<?xml version="1.0" encoding="UTF-8"?> 
    <!DOCTYPE HTML> 
    <html 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:ice="http://www.icesoft.com/icefaces/component" > 

     <ui:include src="core-classic-layout.xhtml"> 
      <ui:param name="css-basename" value="core-classic"></ui:param> 
      <ui:param name="css-themename" value="blue"></ui:param> 
     </ui:include> 
    </html> 

和其他核心 - 经典layout.xhtml是:

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE HTML> 
<html 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:ice="http://www.icesoft.com/icefaces/component" > 

    <f:view locale="#{system.usedLocale}" > 
     <ice:loadBundle 
      basename="hu.gap.resources.messages" 
      var="msgs"/> 

    <head> 
     <title>#{msgs['ApplFrmTitle']}</title> 

     <ice:outputStyle href="./xmlhttp/css/rime/rime.css" /> 

     <ice:outputStyle href="./xmlhttp/css/core/#{css-basename}-layout.css" /> 
     <ice:outputStyle href="./xmlhttp/css/core/#{css-basename}-#{css-themename}.css" /> 
    </head> 

我的问题是,浏览器尝试加载0布局.css ant 0-0.css文件,当我导航到第一个包含第二个的xhtml时。

回答

0

“ - ”是一个算术运算符,所以当你写css-basename它是css minus basename,它的计算结果为0.调用参数cssBaseName将解决它。

+0

谢谢你,这帮了我 – jabal 2011-03-22 10:23:39

0

这将隐含地包含任何你包含core-classic-layout.xhtml的布局。

<ice:outputStyle href="./xmlhttp/css/core/#{css-basename}-layout.css" /> 
<ice:outputStyle href="./xmlhttp/css/core/#{css-basename}-#{css-themename}.css" /> 

如果您不想加载它们,您可以从core-classic-layout.xhtml中删除布局。

相关问题