Ich habe diesen Code:Geschwindigkeit Ersatz von Eigentum von Elementen in einer Liste funktioniert nicht
UserRssArticleDTO rssArticleDTO = new UserRssArticleDTO();
rssArticleDTO.title = "Calves won in NBA";
ArrayList<UserRssArticleDTO> dtoList = new ArrayList<UserRssArticleDTO>();
dtoList.add(rssArticleDTO);
VelocityContext context = new VelocityContext();
ArrayList<String> strList = new ArrayList<>(Arrays.asList("peasant","farmer"));
context.put("rssArticleDTOList", dtoList);
context.put("date", new Date());
context.put("time", new Date());
StringWriter swOut = new StringWriter();
String templateStr = buffer.toString();
/**
* Merge data and template
*/
Velocity.evaluate(context, swOut, "log tag name", templateStr);
System.out.println(swOut);
Die UserRssArticleDTO
:
class UserRssArticleDTO {
public String title;
public String desctiption;
public String dummy;
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getDesctiption() {
return desctiption;
}
public void setDesctiption(String desctiption) {
this.desctiption = desctiption;
}
public String getDummy() {
return dummy;
}
public void setDummy(String dummy) {
this.dummy = dummy;
}
}
Die Geschwindigkeit Vorlage:
#foreach($rssArticleDTO in $rssArticleDTOList)
<div>
<div>$date </div>
<div>$rssArticleDTO.title</div>
<div>$time</div>
</div>
#end
Der Ausgang ist $rssArticleDTO.title
statt den Wert des Titels anzuzeigen.
Wenn ich stattdessen die A-String-Liste oder rssArticleDTOList
verwende, dann gibt es kein Problem im Druckwert.
Wenn ich $rssArticleDTO
verwende, dann wird die Methode, dh der Hashcode, gedruckt.
Bitte helfen Sie mir, dieses Problem zu lösen.
Bitte zeigen Sie den Code, wie Sie den Wert von 'rssArticleDTOList' in Ihrer Geschwindigkeitsvorlage abrufen. –
Das stammt aus einer Datei, die ich für unseren Zweck nicht relevant finde. – user1539343