Bon, j'ai fait une erreur lors de l'importation de la bibliothèque nécessaire pour le tag for each:
moi j'ai mie :
<%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%>
et la bonne est :
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="core"%>
Maintenant la liste des objets s'affiche bien dans ma page jsp. le problème est résolue pour le passage de <s:iterator> à <core:foreach>
il y a un autre problème :
j'ai mis un lien avec en utilisant <s:iterator> qui m'affiche une autre page jsp ou il y a tous les renseignements sur l'objet courant les autre de l'objet aussi un lien pour edit et autre pour delete.
le problème c'est que l'id de l'objet courant ne se passe pas avec <core:foreach>
Avec <s:iterator> tous marche bien en utilsant le tag struts2 <s:param name="id" value="id" /> je peut passer l'id,
Avec <s:iterator> et <s:param>
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <table border="1">
<s:iterator id="newsList" value="newsList">
<tr >
<td><s:url id="completeNewsUrl" action="completeNews">
<s:param name="id" value="id" />
// passage de l'id courant, utilisé dans l'action
</s:url> <s:a href="%{completeNewsUrl}">
<s:property value="headline" />
</s:a> <br /><s:property value="teaser" />
</td>
</tr>
</s:iterator>
</table> |
Avec <core:foreach> et <s:param> :
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <table>
<core:forEach var="list" items="${newsList}" begin="0" end="3">
<tr>
<td><s:url id="completeNewsUrl" action="completeNews">
<s:param name="id" value="id" />
</s:url> <s:a href="%{completeNewsUrl}">
${list.teaser}
</s:a>
<br />
${list.teaser}
</td>
</core:forEach>
</table> |
erreur:
1 2 3 4 5 6
| Struts Problem Report
Struts has detected an unhandled exception:
# Messages: id to load is required for loading
File: org/hibernate/event/LoadEvent.java
Line number: 51 |
Comment je peut récupérer l'id courant dans un foreach et le passer à mon Action.java pour effectuer l'affichage de tous les propriété de objet courant et pour faire l'edit et le delete sur l'item courant ???
Merci de votre aides.
Partager