Bom Dia a Todos, estou com uma dúvida a respeito de escopos em um código jsp. Bom escrevi o código abaixo(jsp e Action), e gostaria de analisá-lo para formular melhor a minha dúvida:
página jsp.
[code]<%@ page language=“java” %>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix=“bean” %>
<%@ taglib uri="/WEB-INF/struts-html.tld" prefix=“html” %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix=“logic” %>
<jsp:useBean id=“pais” class=“br.com.vo.Pais” scope=“session” >
<jsp:setProperty property=“sigla” name=“pais” value=“BR”/>
</jsp:useBean>
<body>
Sigla do país:
<jsp:getProperty property="sigla" name="pais"/><br />
</body>
[/code]
arquivo ListaPaises.java
[code]package br.com.action;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import br.com.vo.Pais;
public class ListaPaises extends Action{
@Override
public ActionForward perform(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
Pais vo = new Pais();
vo.setSigla("TR");
request.setAttribute("pais",vo);
return mapping.findForward("sucess");
}
}[/code]
quando a página jsp é renderizada obtenho a seguinte saída:
[color=red]
Sigla do país: TR
[/color]
Declarei o bean no scopo de sessão, sendo assim a saída mostra que o bean que foi setado no escopo de requisição na action está sendo encontrado
pela tag, e desta forma não foi executado o corpo: <jsp:setProperty property=“sigla” name=“pais” value=“BR”/>, resumindo a dúvida é:
Posso considerar que qualquer atributo de request em um Servlet ou action pode ser “enxergado” em uma página contendo um bean com escopo de sessão?
Obrigado a todos.