我无法让h:command
向该函数发送param
cat1的值为AR数组,但我无法在正确的参数中发送param
JSP代码
<c:forEach items="${categoryBean.getSubCategoryByID(0)}" var="cat" varStatus="stat">
<c:set var="cat1" scope="request" value="${cat}"/>
<li>
<c:out value="${cat1.id}" /> <c:out value="${cat1.name}" />
<h:commandLink id="goprime" action="#{categoryBean.gotoPrimecat}" value="#{cat1.name}">
<f:setPropertyActionListener target="#{categoryBean.CatID}" value="#{cat1.id}" />
</h:commandLink>
</li>
</c:forEach>
bean代码
public String getCatID() {
return CatID;
}
public void setCatID(String CatID) throws SQLException, ClassNotFoundException {
logger.info("in setter: "+CatID);
this.CatID = CatID;
//products = product.searchProductsByCategory(null, null, CatID);
}
public void GotoPrimecat() throws IOException {
logger.info("in primercat , id: "+this.CatID);
ExternalContext context = FacesContext.getCurrentInstance().getExternalContext();
context.redirect("category.jsp");
return;
}
答案 0 :(得分:0)
看起来问题是您的方法的名称。在您的页面中,该方法被引用为categoryBean.gotoPrimecat
,而在您的bean中,方法为GotoPrimecat()
。确保方法名称完全相同,包括大小写,它应该没问题。在这种情况下,你的bean方法应该以小写字母开头,这是普遍接受的样式。