exception
atao Aug 18, 2007 6:40 AMIn a page with only a h:outputText and a h:form, as soon as I click on the submit button of the form, I get this exception
12:23:22,468 WARN [lifecycle] executePhase(RESTORE_VIEW 1,com.sun.faces.context.FacesContextImpl@13cf3bb) threw exception
javax.el.PropertyNotWritableException: /home.xhtml @18,57 binding="#{bindingtest.testText()}": Illegal Syntax for Set Operation
at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:98)
[...]
Caused by: javax.el.PropertyNotWritableException: /home.xhtml @18,57 binding="#{bindingtest.testText()}": Illegal Syntax for Set Operation
at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:98)
at com.sun.faces.lifecycle.RestoreViewPhase.doPerComponentActions(RestoreViewPhase.java:245)
at com.sun.faces.lifecycle.RestoreViewPhase.doPerComponentActions(RestoreViewPhase.java:250)
at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.java:193)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
... 37 more
It must be obvious but i have no idea why.
The application is generated with seam2/seam-gen from today cvs. The only changes are:
- outputText and form in home.xhtml
- class BindingTest.java
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
 xmlns:h="http://java.sun.com/jsf/html"
 >
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
 <title>popsuite-binding</title>
 <link href="stylesheet/theme.css" rel="stylesheet" type="text/css" />
</head>
<body>
 <h:messages/>
 Test<br />
 <h:outputText binding="#{bindingtest.testText()}" />
 <h:form id="bindingtest">
 <h:commandButton id="valid"
 value="OK"
 action="#{bindingtest.valid}"/>
 </h:form>
</body>
</html>
package org.popsuite.binding2;
import static org.jboss.seam.ScopeType.APPLICATION;
import static org.jboss.seam.annotations.Install.BUILT_IN;
import javax.faces.component.UIComponent;
import javax.faces.component.html.HtmlOutputText;
import org.jboss.seam.annotations.Install;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;
import org.jboss.seam.annotations.intercept.BypassInterceptors;
@Scope(APPLICATION)
@BypassInterceptors
@Name("bindingtest")
@Install(precedence = BUILT_IN)
public class BindingTest
{
 private String name;
 private String city;
 public UIComponent testText()
 {
 HtmlOutputText text = new HtmlOutputText();
 text.setValue("Very simple binding test");
 return text;
 }
 public String valid()
 {
 return null;
 }
 public String getName(){
 return this.name;
 }
 public void setName(String name){
 this.name = name;
 }
 public String getCity(){
 return this.city;
 }
 public void setCity(String city){
 this.city = city;
 }
}
 
     
    