Struts: Home Page dinâmica

11 respostas
R

:smiley: Boa Tarde

Preciso de ajuda:

Pretendo construir uma Home Page dinâmica, isto é, ela será preenchida com informações provenientes do banco de dados.

O problema, é que diferentemente de uma outra página qualquer, a Home antecede toda e qualquer execução no servidor; por isso não posso utilizar-me da sequência: página chamadora -> função(action) - página de resultados.

Pergunto: Existe alguma maneira de direcionar a primeira solicitação a um Website para uma função ao invés de uma página jsp?

11 Respostas

cv1

Bom, aqui vai uma idéia, provavelmente alguém tem uma melhor:

Faça um index.jsp “dummy”, que redireciona para o JSP que recebe a Action (sei lá, HomePage.do), e ponha todos os seus JSPs dentro do diretório WEB-INF. Dá uma segurança boa, e facilita na hora de criar a estrutura do site: fica tudo dentro do WEB-INF :slight_smile:

ricardolecheta

eu não sei se é o seu caso, mas recentemente fiz algo assim utilizando
frames

<frameset cols=“150,*”>
<frame name=“Conteudo” target=“principal” src=“menu.htm”>
<frame name=“principal” src="/ContextRoot/action_path.do">

então eu tinha um menu do lado esquerdo e no meio eu tinha a home que era uma Action

agora se vc não utliza frames eu não sei como fazer… :oops:

R

:smiley: Valeu pessoal.

Bom final de semana.

maxguzenski

nao sei se é bem isso que voce quer…

configra teu web.xml
para a pagina de WELCOME ser um action ao inves do index.jsp…

tipo Welcome.do
dai no action voce faz o que tem pra fazer e passar pro primeiro jsp de apresentacao do teu sistema

ricardolecheta

configra teu web.xml
para a pagina de WELCOME ser um action ao inves do index.jsp…

tb pensei nisto, tinha feito algo assim:

<welcome-file>homepage.do</welcome-file>

tentei tb: <welcome-file>/Teste/homepage.do</welcome-file>

mas não funcionou :!:

obs:. uso o Eclipse + TomCat

eu errei em alguma coisa ?

maxguzenski

web.xml

<WELCOME-file>welcome.do</WELCOM-fileE>

STRUST

<global-forwards>
<forward name=“welcome” path="/Welcome.do"/>
</global-forwards>

<action-mappings>
<action path="/Welcome" type=“org.apache.struts.actions.ForwardAction”
parameter="/pages/Welcome.jsp"/>
</action-mappings>

faz isso que funciona!

maxguzenski

claro, no caso de Struts isso funciona… sem Struts nao tenho certeza de como se faz …

R

Pelo que entendi, sua primeira página é dinâmica, com imformações que devem ser recuperadas por exemplo de uma base de dados.

Uso ± como o pessoal fez aí em cima:

Para recuperar os valores dinâmicos teremos que passar por uma Action que vai gerar uma ou mais collections com os dados da home e outros beans tb. Acredito que isso vc ja deve fazer com tranbquilidade. Já que sua Action é a da home, vou chamar no meu exemplo de HomeAction e seu path será home.

&lt;action type="br.com.recjug.struts.action.HomeAction"
                 path="/home"
                 scope="request"&gt;
          &lt;forward name="sucesso"
                   path="home.jsp"
                   /&gt;

Configure no web.xml

&lt;welcome-file-list&gt;
    &lt;welcome-file&gt;home.do&lt;/welcome-file&gt;
&lt;/welcome-file-list&gt;

Crie seu arquivo home.jsp no raiz do seu projeto e beleza!

R

Na intervenção do ricardolecheta ele anexa a observação:

“configura teu web.xml
para a pagina de WELCOME ser um action ao inves do index.jsp?”

Como faço isso?

Talvez essa seja a raiz do meu problema que tem as configruações abaixo mas que não está funcionando:

web.xml

<welcome-file>home.do</welcome-file>

struts-config.xml

<action path="/home"
type=“br.com.fatec.teste.HomeAction”
scope=“request”>
<forward name=“tohome” path="/home.jsp"/>
</action>

cv1

“Roberto C. Todorovski”:

web.xml

<welcome-file>home.do</welcome-file> [color=“red”]“home” definido[/color]

struts-config.xml


<forward name=“tohome” path="/home.jsp"/> [color=“red”]“tohome” definido[/color]

Acho que nem preciso explicar mais :slight_smile:

R

CV, talvez a minha colocação não foi clara, porque a instrução

<forward name=“tohome” path="/home.jsp"/>

diz respeito ao objeto mapping(mapping.findForward(“tohome”)) que é retornado pela HomeAction quando essa termina seu processmanto.

De qualquer forma, a configuração citada pelo ricardolecheta existe ou não?

Criado 30 de maio de 2003
Ultima resposta 4 de jun. de 2003
Respostas 11
Participantes 5