Olá amigo, minha pergunta é a seguinte>
De acordo com a documentação do Struts 2 com annotation a annotation @Result permite usar parametros:
@Action(value = "index", results = { @Result(name = "success", type ="stream",params={???})}) // estou retornando um arquivo CSV pára download e preciso setar o contentType...
Na documentação do Struts 2 não tem nenhum example…
Alguem sabe como posso setar o contentType para o result da action?
Obrigado
Olá, Paulo.
Seria assim:
@Action(value = "index", results = @Result(type ="stream",params={"contentType","text/csv"})
Se “text/csv” não servir, tente “text/comma-separated-values”.
contentType pode ser application/pdf, image/jpeg ou qualquer outro tipo defini aqui: http://www.w3schools.com/media/media_mimeref.asp
Nota: name = “success” é opcional. Pode ser omitido no caso de “success”
Oi jyoshiriro,
Obigado, ja consegui impementar a Annotation.
Muito obrigado mesmo.
Fica aqui o registro para caso alguem tenha a mesma necessidade!
@Action(results = { @Result(name = "success", type = "stream", params = {
"contentType", "text/csv", "nomeDoAtributo", "${nomeDoAtributo}",
"contentDisposition", "attachment;filename=\"NomeArquivo.csv\"",
"bufferSize", "1024" }) })
public String execute(){
return SUCCESS;
}
// precisa ter um set e get para nomeDoAtributo na Action
public InputStream getInputStream() {
return inputStream;
}
public void setInputStream(InputStream inputStream) {
this.inputStream = inputStream;
}
Obrigado Fallow Abraço
Falou, então. Estamos aqui pra isso. Só não esquece do [RESOLVIDO] no título do post