2014-04-01 44 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