Impossible de créer un composant de couture, la portée de la page n'est pas active; selectbooleancheckbox

StackOverflow https://stackoverflow.com/questions/19854475

  •  29-07-2022
  •  | 
  •  

Question

Seam 2.2.2, JSF 1.2. Cela semble si simple: un dataTable où chaque ligne a une case à cocher que je souhaite observer lors de l'appel d'un bouton. J'ai un contrôleur:

@Name("MyController")
@Scope(ScopeType.PAGE)
public class MyController {
    private List<MyItem> myItems;

    public MyItem[] getItemsList(boolean excluded) {
            return myItems;
    }

J'ai le MyItem taper:

public class MyItem {
    private boolean selected = false;

    public boolean isSelected() {
        return selected;
    }

    public void setSelected(boolean selected) {
        System.out.println("setting to " + selected);
        this.selected = selected;
    }

    ... other things ...
}

C'est mon xhtml:

<a:form id="formExcludedList">
    <rich:dataTable id="excludeList"
        value="#{MyController.getItemsList(true)}" var="o">
        <rich:column>
            <h:selectBooleanCheckbox id="selectComponent"
                value="#{o.selected}" />
        </rich:column>

Lorsque vous cliquez sur la case à cocher MyItem.setSelected n'est pas exécuté. Je reçois une journalisation funky cependant: (toiletté pour la concision)

DEBUG createHotDeployment - Using Java hot deploy
DEBUG beginRequest - >>> Begin JSF request for <my page>
DEBUG begin - beginning transaction prior to phase: RESTORE_VIEW(1)
DEBUG begin - beginning JTA transaction
WARN  getInstance - Cannot create Seam component, scope is not active: MyController(PAGE)
WARN  getInstance - Cannot create Seam component, scope is not active: MyController(PAGE)
WARN  getInstance - Cannot create Seam component, scope is not active: MyController(PAGE)
WARN  getInstance - Cannot create Seam component, scope is not active: MyController(PAGE)
DEBUG restoreAndLockConversation - No stored conversation
DEBUG commitOrRollback - committing transaction after phase: INVOKE_APPLICATION(5)
DEBUG commit - committing JTA transaction
DEBUG begin - beginning transaction prior to phase: RENDER_RESPONSE(6)
DEBUG begin - beginning JTA transaction
DEBUG commitOrRollback - committing transaction after phase: RENDER_RESPONSE(6)
DEBUG commit - committing JTA transaction
DEBUG endRequest - Discarding conversation state: 7
DEBUG endRequest - After render response, destroying contexts
DEBUG flushAndDestroyContexts - ... et cetera
DEBUG destroy - destroying: ...
DEBUG destroy - destroying: ... et cetera
DEBUG endRequest - <<< End JSF request for <my page>

Votre aide très appréciée!

Était-ce utile?

La solution

Il s'est avéré que je manquais quelques dépendances JSF: jsf-api.jar et jsf-impl.jar. Par la suite, il a fallu ceux fournis par mon conteneur (WebSphere), qui étaient de la mauvaise version, donc cela ne fonctionne pas. Une fois appliqué ces pots de dépendance et de la bonne version, tout était bon!

Autres conseils

JBoss peut également lancer cette erreur si elle ne peut pas trouver seam.properties Dans votre application src/conf annuaire. Le fichier peut être vide, mais il doit être là pour que la portée soit active.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top