Tim Holloway wrote:The problem is more like "why did it ever work at all?"
The JSF View Definition Language (VDL) is not a programming language. It is a specification language that defines a View template. Although you can code simple expressions using EL, they should be limited to things that control how the view displays. Using EL to code application logic (business logic) is a violation of the MVC paradigm which makes it more expensive to maintain apps and is a right royalto debug on top of that.
The "value" attribute that appears on most of the JSF HTML data controls is NOT a method "call". It is a reference[/b] to a backing bean [i]property. A data value, not a function. According the the JavaBean convention, that means that there should be public "get" and "set" accessor methods defined in the backing bean ("set" is optional when you're using a display-only control such as outputText).
What that means is that what JSF is expecting is that you'd code
And that the backing bean would possess
Which I don't think is what you wanted, but it's what JSF wants.
javax.servlet.ServletException: /listperson.xhtml @13,47 value="#{serviceBean.method}": The class 'se.apper.soda.ejb.ServiceBean$Proxy$_$$_Weld$Proxy$' does not have the property 'method'.
javax.servlet.ServletException: /pages/persons.xhtml @13,50 value="#{serviceBean.method()}": The class 'com.apper.soda.ejb.ServiceBean$Proxy$_$$_Weld$Proxy$' does not have the property 'method'.
IllegalMonitorStateException - if the current thread is not the owner of this object's monitor.
Darryl Burke wrote:1. Yes on not extending JFrame. But do you even need it as a field? Does any code in any method other than the one which constructs and populates the frame require a reference to it?
2. I would prefer a CardLayout with a separate JScrollPane in each card to updating the viewport view of a single scroll pane.
3. What 'something else' did you have in mind?
edit
... any other general advice ...
Follow MVC principles and you can't go wrong.