我正在尝试在URL上传递参数但是我得到了Managed bean“Cant instantiate class:”错误。 代码在这里:
创建网址:
<h:outputLink id="link"
value="#{facesContext.externalContext.requestContextPath}/Public/Home/altKanallar.jsf?id=#{item.id}&name=#{item.name}">
<h:outputText value="#{item.name}" />
</h:outputLink>
altKanallar.jsf
<h:form>
<div style="text-align: center;">
<div style="text-align: left;">
<h:panelGrid style="font-size: 12px; text-decoration:none; " width="100%">
<h:dataTable value="#{altKanallarBean.categories}" var="item" style=" width : 100%;">
<h:column>
<h:outputLink id="link"
value="#{facesContext.externalContext.requestContextPath}/Public/Home/default.jsf">
<h:outputText value="#{item.name}" />
</h:outputLink>
<div style="style=clear:both; font-size:1px; height:2px; line-height:1px;">
</div>
<div style="border-bottom:1px solid #D3E8FF; font-size:1px; height:1px; line-height:1px;">
</div>
<div style="style=clear:both; font-size:1px; height:2px; line-height:1px;">
</div>
</h:column>
</h:dataTable>
</h:panelGrid>
</div>
</h:form>
AltKanallarBean.java
public class AltKanallarBean {
private List<com.uzmantv.data.category.Item> categories;
public AltKanallarBean(){
HttpServletRequest request=(HttpServletRequest)FacesContext.getCurrentInstance().getExternalContext().getRequest();
System.out.println(request.getParameter("name"));
System.out.println(request.getParameter("id"));
categories = RestServices.getCategoriesById(Long.parseLong(request.getParameter("id"))).getItems();
name = request.getParameter("name");
}
public List<com.uzmantv.data.category.Item> getCategories() {
return categories;
}
public void setCategories(List<com.uzmantv.data.category.Item> categories) {
this.categories = categories;
}
}
答案 0 :(得分:0)
确保构造函数AltKanallarBean()不会抛出异常。 通常,建议不要在构造函数中调用业务逻辑。
答案 1 :(得分:0)
感谢您的支持。问题已经解决了。
Jboss没有部署AltKanallarBean
类。花了几个小时才决定关闭并重新打开Eclipse并清理jboss。