| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2008 15:19:08
|
g4j
GUJ Ranger
![[Avatar]](/images/avatar/bea3c20edb84a0dd83a99a9a7274bc67.jpg)
Membro desde: 02/05/2007 14:32:03
Mensagens: 816
Localização: Curitiba
Offline
|
Pessoal,
Encontrei uma ocasião aqui em meus estudos, que não achei no livro "Use a Cabeça - Servlet & JSP":
isso:
Não funciona!!
Erro:
Ou seja, o atributo scope só funciona junto com o atributo "var" e não com "target".
This message was edited 1 time. Last update was at 21/08/2008 15:55:51
|
Gerson Luiz Chagas
SCJP 5.0
SCWCD 5.0
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/08/2008 09:51:19
|
gk-bgh
JavaGuru
Membro desde: 27/04/2007 22:42:28
Mensagens: 200
Offline
|
Esta certo...
Achei isso na API
scope java.lang.String Scope for var.
|
Bacharel em Ciência da Computação PUC Minas.
Cursando Pós-Graduação em Administração de Empresas na Fundação Getúlio Vargas
Sun Certified Associate for Java Platform
Sun Certified Java Programmer 5.0
Sun Certified Web Component Developer 5.0 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/08/2008 10:02:55
|
g4j
GUJ Ranger
![[Avatar]](/images/avatar/bea3c20edb84a0dd83a99a9a7274bc67.jpg)
Membro desde: 02/05/2007 14:32:03
Mensagens: 816
Localização: Curitiba
Offline
|
hehe... não deve ser tão importante assim para a prova, senão eles mencionavam no livro...
descobri por acaso, fazendo testes...
|
Gerson Luiz Chagas
SCJP 5.0
SCWCD 5.0
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/08/2008 11:13:04
|
victorwss
JWizard
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline
|
scope junto com target não faz sentido.
target diz qual variável será mexida, e seja qual for, ela já tem um escopo definido. Não faz sentido tentar alterar o escopo dela!
|
Victor Williams Stafusa da Silva
Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).
Se você escreve "concerteza", "concerteza" você andou matando aulas de português. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/08/2008 12:21:03
|
g4j
GUJ Ranger
![[Avatar]](/images/avatar/bea3c20edb84a0dd83a99a9a7274bc67.jpg)
Membro desde: 02/05/2007 14:32:03
Mensagens: 816
Localização: Curitiba
Offline
|
Alterar o escopo não, mas alterar uma variavel de determinado escopo faz sentido, é exatamente o que <c:set var> faz, se tem uma variavel no escopo é substituída, não vejo o real motivo de <c:set target> não ter scope. Ou estou perdendo algo aí no conceito...
|
Gerson Luiz Chagas
SCJP 5.0
SCWCD 5.0
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/08/2008 12:41:25
|
victorwss
JWizard
![[Avatar]](/images/avatar/4ab232445f9b21b65dfdf6ea5f27f704.png)
Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline
|
g4j wrote:Alterar o escopo não, mas alterar uma variavel de determinado escopo faz sentido, é exatamente o que <c:set var> faz, se tem uma variavel no escopo é substituída, não vejo o real motivo de <c:set target> não ter scope. Ou estou perdendo algo aí no conceito...
Vamos supor que haja uma variável "foo" no request e uma "foo" no session.
Se você setar com <c:set var="foo" blablabla/>, então eve vai colocar a variável naquele escopo não importando se já existia uma outra no lugar.
<c:set var="foo" scope="session" var="${requestScope.foo}"/> por exemplo, cria uma variável foo no session com o valor da variável foo do request. Apesar de ter o mesmo nome, são variáveis diferentes.
Mas, no target isso não ocorre, pois o scope é o escopo onde a variável vai ser COLOCADA e não de onde ela vai ser lida. Deste forma, <c:set target="${requestScope.foo}" value="xxx" scope="session"/> Tentaria pegar a variável foo do request e colocá-la no session com o valor xxx. Mas isso implica em criar uma nova variável e não setar ela. (se o requestScope for omitido acaba dando na mesma porque o container vai tentar procurar a variável do menor para o maior escopo até encontrar, mas seja lá em qual for o escopo que ele a encontre, a variável não pode ser colocada em um escopo diferente).
E por sinal, mudar o escopo de uma variável é absurdo. Este exemplo mostra que se isso fosse possível, haveriam efeitos colaterais muito estranhos:
No segundo c:out, a variável misteriosamente teria mudado de escopo como efeito colateral de ter recebido um novo valor, algo que é no mínimo indesejável.
|
Victor Williams Stafusa da Silva
Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.
Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.
Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.
É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).
Se você escreve "concerteza", "concerteza" você andou matando aulas de português. |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 27/08/2008 13:23:19
|
g4j
GUJ Ranger
![[Avatar]](/images/avatar/bea3c20edb84a0dd83a99a9a7274bc67.jpg)
Membro desde: 02/05/2007 14:32:03
Mensagens: 816
Localização: Curitiba
Offline
|
Acho que saquei.
A idéia de <c:set> com "target" é somente mudar o valor de uma variável que já existe, não importando qual "scope". Se o valor de target calcular pra null dá erro...
Já <c:set> com "var" pode criar variáveis caso não exista no escopo definido, sobrescrever o seu valor, ou ainda excluir do escopo caso o atributo já exista no escopo, passando um valor null em "value".
mais ou menos por ai?
|
Gerson Luiz Chagas
SCJP 5.0
SCWCD 5.0
|
|
|
 |
|
|