Hallo zusammen,
ich fange gerade an mich in JSF2 einzulesen und versuche mich gerade an Managed Beans. Leider komme ich gerade nicht weiter und hoffe, ihr könnt mir behilflich sein.
Ich habe hier verschiedene Menüeinträge. Beim Betätigen des Links "menuItems" soll nun eine entsprechende Methode in der Bean "ItemList" aufgerufen werden:
Methode in "ItemList":
Lasse ich das Projekt laufen und betätige den entsprechenden Link, so bekomme ich jedoch folgende Fehlermeldung:
Item sieht folgendermaßen aus:
Obwohl nun die Methode "getDetails" ausgeklammert ist, verursacht sie eine Fehlermeldung... zudem wird sie auch nirgendwo mehr aufgerufen.
Vermutlich ist das ein einfachers Anfängerproblem. Kann mir jemand auf die Sprünge helfen?
ich fange gerade an mich in JSF2 einzulesen und versuche mich gerade an Managed Beans. Leider komme ich gerade nicht weiter und hoffe, ihr könnt mir behilflich sein.
Ich habe hier verschiedene Menüeinträge. Beim Betätigen des Links "menuItems" soll nun eine entsprechende Methode in der Bean "ItemList" aufgerufen werden:
HTML:
<div>
<ul>
<h:form id="form">
<li><a><h:commandLink name="menuHome" value="Home" action="/index.xhtml" /></a></li>
<li><a><h:commandLink name="menuItems" value="Items" action="#{ItemList.test}" /></a></li>
...
</h:form>
</ul>
<br class="clearit" />
</div>
Methode in "ItemList":
Java:
public String test(){
FileSearch f = new FileSearch();
setItem(t.searchItem("67895"));
return "/nextPage.xhtml";
}
Lasse ich das Projekt laufen und betätige den entsprechenden Link, so bekomme ich jedoch folgende Fehlermeldung:
Java:
javax.servlet.ServletException: Property 'getDetails' not found on type org.[...].entity.Item
javax.faces.webapp.FacesServlet.service(FacesServlet.java:325)
root cause
javax.el.PropertyNotFoundException: Property 'getDetails' not found on type org.[...].entity.Item
javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java:170)
javax.el.BeanELResolver.property(BeanELResolver.java:279)
javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:54)
com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:72)
org.apache.el.parser.AstValue.getValue(AstValue.java:123)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
org.jboss.weld.el.WeldValueExpression.getValue(WeldValueExpression.java:71)
com.sun.faces.facelets.el.ELText$ELTextVariable.toString(ELText.java:207)
com.sun.faces.facelets.el.ELText$ELTextComposite.toString(ELText.java:148)
com.sun.faces.facelets.compiler.CommentInstruction.write(CommentInstruction.java:70)
com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:75)
com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:176)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:1616)
com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:380)
com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:126)
javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:273)
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:127)
com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
Item sieht folgendermaßen aus:
Java:
public class Item {
private String name;
private String description;
private Item item;
/**
* Default constructor.
*/
public Item(){
}
public Item(String name, String description){
this.name = name;
this.description = description;
}
public void setItem(String name, description){
this.name = name;
this.description = description;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
/*public String getDetails(){
String linkC = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("detailP");
FileSearch f = new FileSearch();
item = f.searchItem(linkC);
return "/nextPage.xhtml";
}*/
}
Obwohl nun die Methode "getDetails" ausgeklammert ist, verursacht sie eine Fehlermeldung... zudem wird sie auch nirgendwo mehr aufgerufen.
Vermutlich ist das ein einfachers Anfängerproblem. Kann mir jemand auf die Sprünge helfen?