<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Latest posts for the topic "Definindo o Header"]]></title>
		<link>http://forum.mentaframework.org/posts/list/3.page</link>
		<description><![CDATA[Latest messages posted in the topic "Definindo o Header"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Definindo o Header</title>
				<description><![CDATA[ Pessoal,

Estou tentando definir o Header de uma página que minha Action vai chamar, mas não sei como fazer isso.

Eu preciso definir o Header para abrir um relatório em PDF que será gerado pela minha Action.

Como posso fazer isso? Dei um olhada na API parece que existe uma classe chamada StreamConsequence que define o contentType. Mas na documentação está dizendo que existe uma função chamada defineHeader(javax.servlet.http.HttpServletResponse res, Output output) mas ela não foi definida. Seria interessante dar um olhada.

Um abraço!]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/83.page#426</guid>
				<link>http://forum.mentaframework.org/posts/list/83.page#426</link>
				<pubDate><![CDATA[Wed, 19 Oct 2005 16:21:30]]> GMT</pubDate>
				<author><![CDATA[ Glaucio]]></author>
			</item>
			<item>
				<title>Definindo o Header</title>
				<description><![CDATA[ Glaucio:

Não sei exatamente o que você quer
A StreamConsequence serve para você gerar váriostipos de respostas (geralmente não do tipo text/html) a partir de um vetor de  bytes ou uma input stream aberta. Para você gerar relatório PDF vc colocaria algo assim:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
ActionConfig ac = new ActionCofig&#40;"/geraRelatorio", ActionRelatorio.class&#41;;
ac.addConsequence&#40;ActionRelatorio.SUCCESS, new StreamConsequence&#40;"application/pdf"&#41;&#41;;
//...
</pre>
		</div>

se estiver errado o content-type de pdf, me corrijam...]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/83.page#427</guid>
				<link>http://forum.mentaframework.org/posts/list/83.page#427</link>
				<pubDate><![CDATA[Wed, 19 Oct 2005 20:09:54]]> GMT</pubDate>
				<author><![CDATA[ RubemAzenha]]></author>
			</item>
			<item>
				<title>Re: Definindo o Header</title>
				<description><![CDATA[ Eu quero fazer isso:

<span class="genmed"><b>Code:</b></span><br>
		<div style="overflow: auto; width: 100%;">
		<pre>
private void processaRelNc&#40;HttpServletRequest req, HttpServletResponse resp&#41; throws IOException
	{
		String rnc = req.getParameter&#40;"numRnc"&#41;;
		String empresa= req.getParameter&#40;"empresa"&#41;;
		ErrosAplicacao erro= new ErrosAplicacao&#40;&#41;;
		erro.setLogger&#40;Logger.getLogger&#40;ServletGeraRelatorio.class&#41;&#41;;
		if &#40;rnc==null&#41;
		{
			resp.sendRedirect&#40;"/relNaoConformidade.jsp"&#41;;
			erro.setErro&#40;"Valor rnc: "+ rnc, new Exception&#40;&#41;&#41;;			
		}
		String CAMINHO_ARQUIVO = "C://Relatorios//";
		resp.setHeader&#40;"Content-disposition","attachment;filename=relRnc.pdf"&#41;;
		resp.setContentType&#40;"application/pdf"&#41;;
		
		ServletOutputStream out = resp.getOutputStream&#40;&#41;;	
			
		HashMap mp = new HashMap&#40;&#41;;
		mp.put&#40;"rnc",rnc&#41;;
		JRResultSetDataSource jrRS = null; 
		AdminNc adm;
		try {					
			adm = new AdminNc&#40;&#41;;
			jrRS = new JRResultSetDataSource&#40; adm.getDadosRnc&#40;rnc,empresa&#41;&#41;;
		}catch &#40;Exception e&#41;
		{
			e.printStackTrace&#40;&#41;;
			erro.setLogger&#40;Logger.getLogger&#40;ServletGeraRelatorio.class&#41;&#41;;
			erro.setErro&#40;"Erro ao recuperar dados: ", e&#41;;
		}
		try{						
			byte&#91;&#93; bytes = JasperRunManager.runReportToPdf&#40;CAMINHO_ARQUIVO + "relRnc.jasper", mp, jrRS&#41;;
			resp.setContentLength&#40;bytes.length&#41;;
			ServletOutputStream ouputStream = resp.getOutputStream&#40;&#41;;
			ouputStream.write&#40;bytes, 0, bytes.length&#41;;
			ouputStream.flush&#40;&#41;;
			ouputStream.close&#40;&#41;;
			
		} catch &#40;Exception e&#41; {
			e.printStackTrace&#40;&#41;;
			erro.setLogger&#40;Logger.getLogger&#40;ServletGeraRelatorio.class&#41;&#41;;
			erro.setErro&#40;"Erro ao gerar relatorio RNC: ", e&#41;;
		}
	}
</pre>
		</div>

Dúvida: Como eu pego o outputStream da Action?

Não sei como funciona isso no Mentawai.

Help!

Um abraço!
]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/83.page#476</guid>
				<link>http://forum.mentaframework.org/posts/list/83.page#476</link>
				<pubDate><![CDATA[Thu, 27 Oct 2005 12:41:41]]> GMT</pubDate>
				<author><![CDATA[ Glaucio]]></author>
			</item>
			<item>
				<title>Re:Definindo o Header</title>
				<description><![CDATA[ Glaucio,

O ideal, mais bonito, mais certo e mais tudo é vc criar uma JasperConsequence. Dê uma olhada no source do StreamConsequence. Se vc mandar bem podemos até adicionar o JasperConsequence no build do mentawai.

É claro que vc pode dar um cast no Output para OutputResponse e pegar o HttpServletResponse dentro da action. Mas isso é feio, muito feio. Se fizer assim não mostre pra ninguém... :-)



]]></description>
				<guid isPermaLink="true">http://forum.mentaframework.org/posts/list/83.page#477</guid>
				<link>http://forum.mentaframework.org/posts/list/83.page#477</link>
				<pubDate><![CDATA[Thu, 27 Oct 2005 12:46:40]]> GMT</pubDate>
				<author><![CDATA[ saoj]]></author>
			</item>
	</channel>
</rss>
