嵌套ui:repeat中的commandButton / action不起作用

时间:2014-08-05 14:24:12

标签: jsf javabeans commandbutton uirepeat

我的JSF页面有一些问题,它显示了一个比萨饼列表。 我浏览了ArrayList的每个条目,它使用ui:repeat循环保存披萨数据。 对于每个披萨,用户可以在用户通过单击按钮将披萨添加到购物车之前选择尺寸和数量。 这是发生错误的地方。通过单击按钮,JSF页面刷新,它什么也没发生。我的控制台上没有输出..

JSF页面代码段:

<ui:repeat var="result" value="#{pizzaSearchBean.resultList}">
<h:form>
   <ul>
      <li><p>Name: #{result.pizza.name}</p></li>
      <li><p>ID: #{result.pizza.pizzaID}</p></li>
      <li>
         <p>Toppings:</p>
         <ui:repeat var="topping" value="#{result.toppingList}">
            <p>#{topping.toppingName}</p>
         </ui:repeat>
      </li>
      <li>
         <p>Sizes:</p>
         <h:selectOneRadio id="pizzasize" value="#{pizzaSearchBean.pizzasize}">
            <f:selectItems value="#{result.sizeList} var="size" itemLabel="#{size.diameter}" itemValue="#{size.sizeID}"/>
         </h:selectOneRadio>
      </li>
      <li>
         <p>Quantity:</p>
         <h:selectOneListbox id="pizzaquantity" value="#{pizzaSearchBean.pizzaquantity}" size="1">
            <f:selectItem id="quantity1" itemLabel="1x" itemValue="1">
            <f:selectItem id="quantity2" itemLabel="2x" itemValue="2">
         </h:selectOneListbox>
      </li>
      <li>
         <!-- this is where no action happens... -->
         <h:commandButton value="add to cart" action="#{pizzaSearchBean.addToCart(result.pizza.pizzaID)}"/>
      </li>
   </ul>
</h:form>
</ui:repeat>

在managedBean类中,有几个类来管理所有数据。 addToCard方法看起来就像这样简单:

public void addToCart(int pizzaid) {
   System.out.println("pizza ID : " + pizzaid);
}

一切正常,而不是commandButton动作方法&#34; addToCart()&#34;。无论在commandButton的action标签内写什么。渲染披萨搜索并点击其中一个披萨后,添加到购物车&#34;按钮仍然没有动作..

我希望你能帮帮我..谢谢!

0 个答案:

没有答案