【问题标题】:Datatable with commandButton vs. Dynamic Button from String带有命令按钮的数据表与来自字符串的动态按钮
【发布时间】:2013-04-14 19:54:39
【问题描述】:

我正在创建一个按钮或链接,以便在有人搜索产品后将产品添加到购物车。这是我们的 ProdcutsController.java 类中的那个部分:

public String getResponse() {
    String resultStr = "";
    resultStr += theModel.getProductID() + "<br/>"
            + theModel.getUserID() + "<br/>"
            + theModel.getTitle() + "<br/>"
            + theModel.getProductType() + "<br/>"
            + theModel.getProductDesc() + "<br/>"
            + theModel.getRating() + "<br/>"
            + theModel.getPictureURL() + "<br/>"
            + theModel.getPrice() + "<br/>";

    response = resultStr;
    return response;
}

public String searchProduct() {
    ProductsDAO aProductDAO = new ProductsDAOImpl();    // Creating a new object each time.
    ArrayList products = aProductDAO.searchProduct(theModel); 

    response = "";

    for (int i=0; i < products.size(); i++) {
        theModel = (ProductsBean)products.get(i);
        response += getResponse();
    }
    theModel.setSearchResult(response);

    return "searchResults.xhtml"; // navigate to "searchResults.xhtml"
}

现在它显示的和看起来一样糟糕。我对 JSF 很陌生(在我们的课程中使用 2.1 版)并且之前在类似的课程中使用过 ASP.NET。我最初的想法(我认为违反了BalusC's comment for "h:commandLink / h:commandButton is not being invoked" 中的规则 2)是在响应 += getResponse() 之后为调用我们的方法 addToCart() 的 Products Controller 中的 commandButton 添加 JSF 代码。它在相应的搜索结果旁边显示按钮,但不运行 #{cartController.addToCart()} 方法。

我查看了像 BalusC's comment for "JSF Command button inside a JSF data Table" 这样的数据表。基本上这归结为两个问题:

  • 我们是否应该尝试使用数据表来显示我们的数据并在列中使用“添加到购物车”按钮?我能否将其绑定到该特定产品 ID 的 addToCart() 方法?我问“应该”,因为我们是 JSF 的新手,这可能超出了我们的想象。
  • 我的第一个解决方案可行吗?我们可以从一个字符串中动态创建可行的 JSF 表单按钮吗?
  • 有没有比我们尝试的更简单的方法?

非常感谢任何帮助。我们目前使用的是 JSF 2.1。

【问题讨论】:

    标签: jsf button dynamic hyperlink datatable


    【解决方案1】:

    我们能够在我提供的链接中查看上面 BalusC 的评论来实现数据表。一旦我们进行了一些试验/错误,它就可以完美而简单地工作。

    【讨论】:

      猜你喜欢
      • 2018-12-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-26
      • 2015-02-13
      • 2015-07-14
      • 2016-11-22
      相关资源
      最近更新 更多