2014-04-01 78 views
0

我注意到同樣的古怪行爲,我無法解釋渲染...引導按鈕有沒有水平填充,當通過JSF

如果我有一系列的按鈕:

<h:commandButton value="foo" actionListener="#{foo.foo}" styleClass="btn btn-danger"> 
     <f:ajax render=":form"></f:ajax> 
    </h:commandButton> 
    <h:commandButton value="bar" actionListener="#{foo.bar}" styleClass="btn btn-danger"> 
     <f:ajax render=":form"></f:ajax> 
    </h:commandButton> 
    <h:commandButton value="car" actionListener="#{foo.car}" styleClass="btn btn-danger"> 
     <f:ajax render=":form"></f:ajax> 
    </h:commandButton> 

他們是所有渲染壓扁一起:

squashed buttons

隨着呈現標記(通過鉻審查元素):

<input id="j_idt92" type="submit" name="j_idt92" value="foo" class="btn btn-danger" onclick="mojarra.ab(this,event,'action',0,'form');return false"> 
<input id="j_idt92" type="submit" name="j_idt92" value="bar" class="btn btn-danger" onclick="mojarra.ab(this,event,'action',0,'form');return false"> 
<input id="j_idt92" type="submit" name="j_idt92" value="car" class="btn btn-danger" onclick="mojarra.ab(this,event,'action',0,'form');return false"> 

現在,如果我把這個標記(後加入收盤大幅削減到輸入變量)和拖放就在我看來,我看到:

notsquashed buttons

如果定義了一組香草按鈕class="btn btn-danger"然後它們按預期顯示間隔。

這會導致什麼?

回答

1

這是因爲JSF組件修剪 spaces.To達到你想要的東西放在#{」「}按鈕

<h:commandButton value="foo" actionListener="#{foo.foo}" styleClass="btn btn-danger">#{' '} 
    <f:ajax render=":form"></f:ajax> 
</h:commandButton> 
<h:commandButton value="bar" actionListener="#{foo.bar}" styleClass="btn btn-danger">#{' '} 
    <f:ajax render=":form"></f:ajax> 
</h:commandButton> 
<h:commandButton value="car" actionListener="#{foo.car}" styleClass="btn btn-danger"> 
    <f:ajax render=":form"></f:ajax> 
</h:commandButton> 
+0

是微調什麼空白之間究竟體現在哪裏? – anger

+0

空格,換行符,標籤 – kimo

+0

不幸的是,根據http://ocpsoft.org/java/undocumented-jsf/我認爲你是對的。 JSF再次發起攻擊。我會將你的答案標記爲正確的,除非其他人能夠在第二天左右採用更好的解決方案。 – anger