Bom dia amigos. Estou com um probleminha aqui.
Tô criando um sistema, onde todo a montagem do HTML tem que estar dentro de uma class.
Teria que funcionar mais ou menos assim:
o JsP chama a função monta_tela() no class, e o class vai rodando out.print com o HTML e monta toda a estrutura HTML da tela.
Mas não estou conseguindo fazer o meu class executar o out.print, somente System.out.print o que não funciona.
Alguém poderia me postar um exemplo básico aqui que faça isso funcionar?
Obrigado
dá um import no jsp da Servlet… daí chama um método da sua servlet que está fazendo a impressão.
M
mhferreiraPJ
Sou novato no java, poderia me exemplificar como eu chamaria o método do servlet?
M
mhferreiraPJ
Tô tentando assim, mas tá dando um erro. Alguém pode ajudar??
JSP
<!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><%@ page contentType="text/html" language="java" import="java.sql.*"%><%@page import="outprintnoclass.classe"%><head><title>Teste</title><body><%newclasse().imprime();%></body></head>
ServLet
importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;publicclassclasseextendsHttpServlet{publicvoidimprime(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{// vamos definir o tipo de conteúdo // que será devolvido pelo responseresponse.setContentType("text/html");// pegamos o PrintWriter do response, através // do qual escreveremos o conteúdo da paginaPrintWriterout=response.getWriter();// Agora vamos escrever o conteúdo da paginaout.println("<HTML>");out.println("<BODY>");out.println("<H1>TESTE</H1>");out.println("</BODY>");out.println("</HTML>");out.close();}}
Sugestão… use JSP para páginas HTML dinâmicas e use Servlets como controlers…
crie um JSP que monta o seu menu e inclua-o no cabeçalho de todas as suas páginas, assim o código fica muito mais legível e profissional.
M
mhferreiraPJ
“Samuel_Pessorrusso”:
Sugestão… use JSP para páginas HTML dinâmicas e use Servlets como controlers…
crie um JSP que monta o seu menu e inclua-o no cabeçalho de todas as suas páginas, assim o código fica muito mais legível e profissional.
Sim, é uma boa idéia, mas eu queria um jeito de criar o HTML dinâmicamente igual eu mencionei acima. Não só para menus e os frames, mas para o sistema geral em si. Por exemplo, quando o usuário acessa o menu vendas, o Class já monta todo o HTML deste módulo no meio do meu JSP como se fosse um include.
Trabalho assim com PHP e funciona muito bem. Pensei que tivesse jeito de fazer isso com o Java.
S
Samuel_PessorrussoPJ
E tem…
tudo o que você faz com JSP você faz com Servlets e vice-versa. No final tudo é um Servlet.
Mas os dois tem propósitos diferentes. Use JSP para montar a sua página e Servlets para carregar dados ou fazer o processamento deles.
o que vc quer fazer:
um JSP chama um Servlet que monta um menu.
o que eu sugiro
um JSP da um include em outro JSP que monta o menu.
[]s
M
mhferreiraPJ
Não éra bem o que eu queria.
Eu queria que essa “Montagem do HTML” ficasse codificada dentro de uma Class e não aberta no JSP.
Será que tem jeito? :sad:
Só lembrando o que eu quero…
é mais ou menos isso abaixo
No Class
importjava.io.*;importjavax.servlet.*;importjavax.servlet.http.*;publicclassclasseextendsHttpServlet{publicvoidimprime(HttpServletRequestrequest,HttpServletResponseresponse)throwsIOException,ServletException{// vamos definir o tipo de conteúdo// que será devolvido pelo responseresponse.setContentType("text/html");// pegamos o PrintWriter do response, através// do qual escreveremos o conteúdo da paginaPrintWriterout=response.getWriter();// Agora vamos escrever o conteúdo da paginaout.println("<HTML>");out.println("<BODY>");out.println("<H1>TESTE</H1>");out.println("</BODY>");out.println("</HTML>");out.close();}}
no JSP:
Código:<!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><%@ page contentType="text/html" language="java" import="java.sql.*"%><%@page import="outprintnoclass.classe"%><head><title>Teste</title><body><%newclasse().imprime();%></body></head>
M
mhferreiraPJ
Pessoal, até que enfim isso funcionou.
Já postei a resposta no outro tópico e estou postando aqui também para servir de ajuda a outras pessoas que tem o mesmo problema. lá vai…
Arquivo index.jsp
<!DOCTYPEHTMLPUBLIC"-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><%@ page contentType="text/html" language="java" import="java.sql.*"%><%@page import="teste.Foo"%><%@page import="teste.Fonte"%><head><title>Imprimindonoclass</title><body><%newFoo(response.getWriter());out.print("<br>");newFoo(response.getWriter());%></body></head>