Pessoal,
Gostaria muito que me ajudassem nisso.
Se tiver alguma forma será muuuuito útil pra mim.
Tenho um resource na minha aplicação web-servlet chamado html.txt.
Nele possuo o padrão do trecho html da assinatura que devo disponibilizar para o usuario na proxima tela.
Mas nesse proprio txt eu tenho implícito algumas variaveis que seriam do request. e no txt eu escrevi assim por ex:
trecho do txt:
<table style='border-collapse: collapse;' cellpadding='0' cellspacing='0'> \n
<tbody> \n
<tr> \n
<td style='border-style: none solid none none; \n
border-color: #808080; \n
border-width: 0px 1px 0px 0px;' \n
align='right' valign='top'> \n
<span style='font-size: 10pt; color: #ff6600; \n
font-family: Verdana; font-weight: bold;'> \n
${name} <br/></span> \n
techo do Servlet:
StringBuffer signHtmlBuffer;
InputStream inputHtmlFile = getServletConfig().getServletContext()
.getResourceAsStream("/resources/html.txt");
BufferedReader reader = new BufferedReader(new InputStreamReader(
inputHtmlFile));
String line = "";
signHtmlBuffer = new StringBuffer();
while ((line = reader.readLine()) != null) {
signHtmlBuffer.append(line);
}
}
String signHtml = signHtmlBuffer.toString();
request.setAttribute("sign_html", signHtml);
trecho do JSP:
<h4><i><fmt:message key="result.label.sign.html" /></i></h4>
<center>${sign_html}</center>
resultado feio:
Esperando ajuda
Flws
rbcunha
Novembro 9, 2007, 10:35pm
#2
Vai aí uma possivel solução…cosiderando que vc possa colocar este txt dentro da aplicação.
Ao invés de ler este txt, pq você não cria um include e passa parametros. Vai aí o exemplo:
paginaInlcude.jsp
Observe que ${param.name} é um parametro.
<table style='border-collapse: collapse;' cellpadding='0' cellspacing='0'> \n
<tbody> \n
<tr> \n
<td style='border-style: none solid none none; \n
border-color: #808080; \n
border-width: 0px 1px 0px 0px;' \n
align='right' valign='top'> \n
<span style='font-size: 10pt; color: #ff6600; \n
font-family: Verdana; font-weight: bold;'> \n
${param.name} <br/></span> \n
No JSP
<h4><i><fmt:message key="result.label.sign.html" /></i></h4>
<center>
<jsp:include page="paginaInlcude.jsp">
<jsp:param name="name" value="${requestScope.name}" />
</jsp:include>
</center>
No Servlet
request.setAttribute("name", "Teste 1..2..3");
Ps. Pode-se utilizar as JSTL <c:import> e <c:param> ao invés de <jsp:include> e <jsp:param>
Oi rbcunha
Muito obrigado pela resposta.
Para o descrito sua solução foi muito boa.
Só que agora nao sei a forma para outro uso da variavel:
Pois eu a usava para o conteúdo de um textarea.
E como era uma String, estava blz.
<textarea id="sign_text" name="sign_text" readonly="readonly" rows="7"
cols="40" onclick='this.select();'>
${sign_text}
</textarea>
:?
Já consegui !
Flws !!
<textarea id="sign_html" name="sign_html" readonly="readonly" rows="35"
cols="100" onclick='this.select();'>
<jsp:include page="../res/html-pattern.jsp" >
<jsp:param name="name" value="${requestScope.name}" />
<jsp:param name="job" value="${requestScope.job}" />
<jsp:param name="company.name" value="${requestScope.company.name}" />
<jsp:param name="telephone" value="${requestScope.telephone}" />
<jsp:param name="cellular" value="${requestScope.cellular}" />
<jsp:param name="email" value="${requestScope.email}" />
</jsp:include>
</textarea>