Built with Seam

You can find the full source code for this website in the Seam package in the directory /examples/wiki. It is licensed under the LGPL.

Your xhtml file might not reference the bean. Look at the following java bean

public class AdminPageAction {

    private EntityManager em;

    @Out(required = false)
    private BlogEntry entry;

    @Begin(join = true)
    public void create() {
         entry = new BlogEntry();

    public void save() {


The entry will be nicely outjected to be used in a xhtml page.

However, if the xhtml itself looks like this:

   <h:panelGrid columns="2">
      <h:outputText value="Subject" />
      <h:inputText value="#{entry.subject}" />
      <h:outputText value="Text" />
      <h:inputTextarea value="#{entry.text}" />

   <h:commandButton action="#{}" value="Save" />
   <a:commandButton value="View" reRender="textPanel" />

<h:panelGrid columns="1" id="textPanel">
   <s:formattedText value="#{entry.text}" />

The adminPage won't be created until save/view is called, and at this point, entry will be null. You can get around this problem by referencing entry as #{adminPage.entry.} (don't forget to add getter/setter), by using a factory or by calling some dummy method in the bean from pages.xml.