2009-09-18 7 views
1

Existe-t-il une manière plus simple de faire cela dans une configuration JSP/Struts1?Propre façon de rendre le HTML sous conditions dans la vue?

... certains HTML ici ...

EDIT: En mode admin je voudrais avoir accès à des paramètres supplémentaires à partir d'un élément de forme, par exemple de l'élément de forme:

 
input type="text" value="Test user" name="Owner" 

EDIT 2: En fait, mon problème est très similaire à la question qui a été posée dans: Conditionally Render In JSP By User

Mais je ne suis pas vraiment le « pseudo-code » de la probablement répondre

Répondre

0

Est-ce que SessionConfig est exposé en tant que bean dans votre JSP (dans le cadre du formulaire request/session/Struts)?

Si ce n'est pas le cas, vous pouvez l'exposer. Et s'il s'agit d'une classe statique contenant des paramètres globaux (ce qui, selon les apparences, est une possibilité), vous pouvez créer un petit wrapper et le placer dans le contexte de servlet auquel vous pourrez accéder depuis les balises Struts comme scope="application" . Une fois cela fait, vous pouvez vérifier votre état via des balises Struts:

<logic:equal name="sessionConfig" property="adminMode" value="true"> 
... your HTML here 
</logic:equal> 

Ou, si vous utilisez EL/JSTL, même peut se faire via <core:if>.

+0

moment, au lieu de sessionConfig est l'utilisation MyFormIncludingConfigParameters Dans le DYNAFORM J'ai aussi une propriété adminMode Il fonctionne, bien que les concepts sont encore un peu trouble (ce scope = « application » signifie, comment je coud déclencheur non Classe -DynaForm) – poseid

+0

scope = "application" signifie que Struts recherche un bean dans ServletContext. C'est une partie de la spécification J2EE, vous pouvez lire à ce sujet dans le tutoriel de Sun. Pour une classe non-DynaForm, elle doit être définie comme form dans struts config (elle sera automatiquement liée à request ou session comme spécifié) ou vous devez la lier manuellement à request dans votre action; Vous pouvez ensuite utiliser le code ci-dessus en remplaçant 'sessionConfig' par le nom de l'attribut auquel vous l'avez lié. – ChssPly76

1

Sans plus d'informations, il est difficile d'y répondre, mais je pense plutôt à des vues séparées: une pour le mode administrateur, une pour le mode normal. Extraire les parties de vos pages en mosaïques vous aidera à le faire sans trop de peine; voir: http://tiles.apache.org/

Questions connexes