Expressões num JSP

9 respostas
P

Eu tenho uma classe chamada Contador e um método chamado Conta. No meu Main, eu faria assim:

..... Contador c = new Contador(); System.out.println(c.Conta); .....
Agora, quando eu quero chamar isso tudo em JSP, usando expressão(matar o System.out.println…), eu faria assim?

<%Contador c = new Contador();%> <%=c.Conta%>
Ou seria de outra forma?

9 Respostas

R

Pode ser assim,mas fica mais elegante com EL:

${c.conta}
P

Mas, usando dessa forma, eu precisaria do new Contador();?

R

Ficaria assim:

<jsp:useBean id="c" class="Contador"/>

<%=${c.conta}%>
P

Deu erro nas duas linhas: Abaixo o código de meu jsp.

<%@page import="com.classes.PrimoRange,java.util.*"%> <%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <title>Retorna Numeros Primos</title> </head> <body> <h:form> <center><h2>Retorna Numeros Primos</h2></center> </h:form> <jsp:useBean id="p" class="PrimoRange" /> <%= ${p.CalcPrimo(1,99)}%> </body> </html>
Mais uma coisa. Como eu faço para preencher meu método, com os valores passados elos edits da outra jsp ou form.html: Ou seja, ao invés de eu colocar na mão os valores, é o cliente que vai preencher o formulário e eu vou pegar esses valores e preencher meu método assim:
p.CalcPrimo(primeiro_valor,segundo_valor)

P

Resolvi o primeiro erro, reescrevendo assim:
<jsp:useBean id=“p” class=“com.classes.PrimoRange” />
Mas eu declarei o import lá na primeira linha. Ele não deveria reconhecer essa classe, sem que eu tivesse a necessidade de escrever todo o pacote, como fiz?

P
Coloquei entre aspas e o erro saiu.

<jsp:useBean id=“p” class=“com.classes.PrimoRange” />

<%= “${p.CalcPrimo(1,99)}%>

Ainda não entendi o porque de eu ter colocar o pacote, se já fiz no import?
R
<blockquote><div class="quote-author">pjava:</div>Coloquei entre aspas e o erro saiu.

<jsp:useBean id=“p” class=“com.classes.PrimoRange” />

<%= “${p.CalcPrimo(1,99)}%>

Ainda não entendi o porque de eu ter colocar o pacote, se  fiz no import?</blockquote>

Dá uma olhada na classe resultante desse jsp se te dá uma luz

P

Como assim, classe resultante. Não entedi. A idéia é que esse jsp rode a classe e retorne os Num Primos. To lendo muita coisa disso, mas agora na hora de fazer sozinho, parece que não estudei nada. Dá um branco geral e não sai nada.

johnny_quest

Vamos lá.

Pelo que entendi você deseja mostrar o conteudo de um objeto na página e chamar um método
desse objeto, tudo isso dentro de um jsp.

para você fazer isso você pode utilzar a Expression Language ${objeto.propriedade}
sendo que você não precisa criar tal objeto, você somente precisa adicionar tal
objeto na pagina, contexto, requisição ou na sessão.

Para se chamar um método dentro de um jsp é um pouco mais complexo,
pois nesse caso você teria que criar um arquivo tld para mapear o nome do seu metodo
no java e definir um nome para ser chamado de dentro do seu jsp.

Veja a parte sobre functions nesse link abaixo… que explica com um exemplo o que você
vae precisar fazer.

http://download.oracle.com/javaee/1.4/tutorial/doc/JSPIntro7.html

Pelo seu código vi que você é iniciante.
Então te diria para comprar o Livro Head First Servlets e JSPs, pois explica detalhadamente
sobre JSPs e Servlets.

Criado 25 de janeiro de 2011
Ultima resposta 25 de jan. de 2011
Respostas 9
Participantes 3