Je suis nouveau sur java. J'ai essayé de chercher autour mais je n'ai rien trouvé de semblable à ma question.Comment obtenir le nom de l'action dans JSP même s'il est vide?
J'ai des éléments de liste dans le menu (<ul>
-s et <li>
-s) Je veux ajouter la classe active
dans <li>
étiquette en fonction du nom de l'action pour rendre l'élément de menu spécifique actif.
Pour cela, j'ai utilisé ce morceau de code
${request.context['struts.actionMapping'].name}
Ce morceau de code fonctionne bien sur toutes les pages, sauf à la page étaient le nom d'action est ""
i.e. chaîne vide. La vérification de la chaîne vide ou chèque nul ne fonctionne pas lorsque le nom d'action est juste ""
<s:set var="action">${request.context['struts.actionMapping'].name}</s:set>
<ul class="nav navbar-nav navbar-right">
<li class="<s:if test="%{#action == ''}">active</s:if>">
<s:a href="/crudoperation">Dashboard</s:a>
</li>
<li class="<s:if test="%{#action == 'add'}">active</s:if>">
<s:url var="addUrl" action="add"/>
<s:a href="%{addUrl}">Add Student Profile</s:a>
</li>
<li class="<s:if test="%{#action == 'edit'}">active</s:if>">
<s:url var="editUrl" action="edit"/>
<s:a href="%{editUrl}">Edit Profile</s:a>
</li>
<li class="<s:if test="%{#action == 'view'}">active</s:if>">
<s:url var="viewUrl" action="view"/>
<s:a href="%{viewUrl}">View Profile</s:a>
</li>
</ul>
Voici mon struts.xml
<struts>
<constant name="struts.ui.theme" value="simple" />
<package name="default" extends="struts-default" namespace="/">
<result-types>
<result-type name="tiles"
class="org.apache.struts2.views.tiles.TilesResult" />
</result-types>
<action name="" class="com.javaguy.struts2.IndexAction">
<result name="master" type="tiles">master</result>
</action>
<action name="add" class="com.javaguy.struts2.AddAction">
<result name="add" type="tiles">add</result>
</action>
<action name="edit" class="com.javaguy.struts2.EditAction">
<result name="edit" type="tiles">edit</result>
</action>
<action name="view" class="com.javaguy.struts2.ViewAction">
<result name="view" type="tiles">view</result>
</action>
</package>
</struts>
Action vide? Pourquoi? Utilisez ''. –
Peut-être qu'il veut attraper seulement l'action vide et pas toutes les URL non-correspondantes. Il y a aussi l'astuce '" * "', et BTW le mieux serait d'utiliser un nom non vide, mais je suppose que tout le point est un peu large –
Comment on peut appeler une action vide du tout? Quelque chose comme '/ .action'. –