Hello world
Alors voilà mon petit soucis sur lequel je planche et je tourne en rond:
1 2 3
| <c:forEach var="thumbnail" items="${thumbnailManagerForm.map.thumbnails}" varStatus="status">
<c:set var="index" value="${status.index}"/>
<% ThumbnailTranslation translation = thumbnail.getTranslationByLanguage(contextLanguage); %> |
et l'erreur sur la dernière ligne, donc au moment de lire la ligne java:
Generated servlet error: thumbnail cannot be resolved
Donc la variable thumbnail générée par le c:forEach n'est pas visible par du java, même s'il est bien placé.
Qu'à cela ne tienne je tente ceci :
1 2 3
| <c:forEach var="thumbnail" items="${thumbnailManagerForm.map.thumbnails}" varStatus="status">
<c:set var="index" value="${status.index}"/>
<c:set var="translation" value="${thumbnail.getTranslationByLanguage[contextLanguage]}"/> |
Et j'obtiens l'erreur :
An error occurred while evaluating custom action attribute "value" with value "${thumbnail.getTranslationByLanguage[contextLanguage]}": Unable to find a value for "getTranslationByLanguage" in object of class "project.model.Thumbnail" using operator "." (null)'
Et pourtant j'ai bien une methode dans cet objet qu'il reconnait donc puisqu'il donne son package :
public ThumbnailTranslation getTranslationByLanguage(String language) {
Je précise que j'ai essayé de remplacer contextLanguage directement par 'en' par exemple et j'obtient le même message d'erreur.
Si je remplace le forEach par un logic:iterate, avec du java je récupère mes objets mais du coup lorsque je tente un tiles:insert, j'obtiens une erreur au sujet d'un "flush" illégal qui, en cherchant sur google indique un problème de compatiblité entre le tiles:insert et le logic:iterate...
Description du problème de flush ici : http://www.mail-archive.com/struts-u.../msg01930.html
Partager