Hi Leute,
ich habe eine einfach JSF-Seite erstellt, auf der ich drei Eingabefelder in entsprechende Member einer Bean mappen wollte. Als JSF-Implementierung verwende ich Apache MyFaces, wobei ich nicht sagen kann, ob der Fehler daher kommt. Hier erstmal meine Fehlermeldung:
Meine Beanklasse sieht so aus:
Und meine JSF Seite so:
Kann mir einer sagen, wo ich den Fehler gemacht habe? Aus der Meldung werde ich leider nicht so wirklich schlau...
Vielen Dank für jeden Hinweis!!
Grüße,
Andreas
ich habe eine einfach JSF-Seite erstellt, auf der ich drei Eingabefelder in entsprechende Member einer Bean mappen wollte. Als JSF-Implementierung verwende ich Apache MyFaces, wobei ich nicht sagen kann, ob der Fehler daher kommt. Hier erstmal meine Fehlermeldung:
Code:
javax.faces.el.PropertyNotFoundException: Error getting property 'trigger' from bean of type java.lang.String
at com.sun.faces.el.PropertyResolverImpl.getValue(PropertyResolverImpl.java:107)
at com.sun.faces.el.impl.ArraySuffix.evaluate(ArraySuffix.java:167)
at com.sun.faces.el.impl.ComplexValue.evaluate(ComplexValue.java:151)
at com.sun.faces.el.impl.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:243)
at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:173)
at com.sun.faces.el.ValueBindingImpl.getValue(ValueBindingImpl.java:154)
at javax.faces.component.UIOutput.getValue(UIOutput.java:147)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getValue(HtmlBasicInputRenderer.java:82)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.getCurrentValue(HtmlBasicRenderer.java:191)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeEnd(HtmlBasicRenderer.java:169)
at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:720)
at javax.faces.webapp.UIComponentTag.encodeEnd(UIComponentTag.java:623)
at javax.faces.webapp.UIComponentTag.doEndTag(UIComponentTag.java:546)
at com.sun.faces.taglib.html_basic.OutputTextTag.doEndTag(OutputTextTag.java:173)
at jsp_servlet._pages.__createtriggerform._jspService(__createtriggerform.java:212)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:526)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:330)
at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:322)
at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:130)
at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1077)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:330)
at weblogic.servlet.jsp.PageContextImpl.forward(PageContextImpl.java:150)
Meine Beanklasse sieht so aus:
Code:
package de.conti.gutsintegration.scheduling.webapp;
import javax.faces.event.AbortProcessingException;
import javax.faces.event.ActionEvent;
import javax.faces.event.ActionListener;
public class TriggerDataBean implements ActionListener {
private String triggerName;
private String triggerDescription;
private String triggerGroupName;
public TriggerDataBean() {
super();
}
public String getTriggerName() {
return triggerName;
}
public void setTriggerName(String triggerName) {
this.triggerName = triggerName;
}
public String getTriggerDescription() {
return triggerDescription;
}
public void setTriggerDescription(String triggerDescription) {
this.triggerDescription = triggerDescription;
}
public String getTriggerGroupName() {
return triggerGroupName;
}
public void setTriggerGroupName(String triggerGroupName) {
this.triggerGroupName = triggerGroupName;
}
public void createTrigger(ActionEvent event) {
System.out.println("createTrigger called");
}
public void processAction(ActionEvent event)
throws AbortProcessingException {
createTrigger(event);
}
}
Und meine JSF Seite so:
Code:
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<html>
<head>
<title>enter your name page</title>
</head>
<body>
<f:view>
<f:loadBundle basename="jsfks.bundle.messages" var="msg"/>
<h1>
<h:outputText value="#{msg.create.trigger.form.title}" />
</h1>
<h:form id="createTriggerForm">
<h:outputText value="#{msg.trigger.attribute.triggername}"/>
<h:inputText value="#{triggerDataBean.triggerName}" />
<h:outputText value="#{msg.trigger.attribute.triggerdescription}"/>
<h:inputTextarea value="#{triggerDataBean.triggerDescription}" />
<h:outputText value="#{msg.trigger.attribute.triggergroupname}" />
<h:inputText value="#{triggerDataBean.triggerGroupName}"/>
<h:commandButton action="createTrigger" value="Test">
<f:actionListener type="de.conti.gutsintegration.scheduling.webapp.TriggerDataBean"/>
</h:commandButton>
</h:form>
</f:view>
</body>
</html>
Kann mir einer sagen, wo ich den Fehler gemacht habe? Aus der Meldung werde ich leider nicht so wirklich schlau...
Vielen Dank für jeden Hinweis!!
Grüße,
Andreas