数据表与commandButton vs.动态按钮从字符串



我正在创建一个按钮或链接,以便在有人搜索产品后将产品添加到购物车中。下面是我们的productscontroller .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关于"h:commandLink/h:commandButton未被调用"的评论中的第2条规则,是在response += getResponse()之后添加用于调用产品控制器中的方法addToCart()的commandButton的JSF代码。它在相应的搜索结果旁边显示按钮,但不运行#{cartController.addToCart()}方法。

我查看了数据表,如BalusC对"JSF数据表内的JSF命令按钮"的评论。基本上这可以归结为两个问题:

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

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

我们能够在我提供的链接中通过查看BalusC上面的注释来实现数据表。只要我们做了一些试验/错误,它就能很好地运行。

相关内容

  • 没有找到相关文章

最新更新