J'ai configuré le résultat comme suit: C'est mon type de résultat personnalisé.La transmission de paramètres à struts2 ne fonctionne pas
<result-types>
<result-type name="myBytesResult" class="blahblah.MyBytesResult" />
</result-types>
<action name="myAction" class="blahblah.MyAction">
<result name="success" type="myBytesResult">
<param name="pptId">${pptId}</param>
</result>
</action>
Et mon résultat a setter/getter pour pptId et MonAction a également setter/getter pour pptId. Mais quand je vérifie mon résultat, il ne règle pas pptId (j'obtiens $ {pptId} comme chaîne dans le résultat). Il semble que ce ne soit pas getter d'Action.
Ce qui pourrait être la raison pour la même chose?
Le code MonAction
public String doDefault() {
System.out.println("Default Called");
setPptId("MyPpt");
return "success";
}
public byte[] getMyImageInBytes() throws Exception {
try {
//.....
} catch (Exception e) {
}
return null;
}
public String getContentType() {
return contentType;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
public String getPptId() {
return this.pptId;
}
public void setPptId(String pptId) {
this.pptId = pptId;
}
MyBytesResult
private String contentType;
private String pptId;
public void execute(ActionInvocation invocation) throws Exception {
HttpServletResponse response = ServletActionContext.getResponse();
//...Some more code for settign response
System.out.println("pt Id[" + this.pptId + "]");
}
public String getContentType() {
return contentType;
}
public void setContentType(String contentType) {
this.contentType = contentType;
}
public String getPptId() {
return pptId;
}
public void setPptId(String pptId) {
this.pptId = pptId;
}
Veuillez indiquer le code pour MyBytesResult et MyAction. –
Le code d'action et le résultat mis à jour –