Rev 1945 | Blame | Compare with Previous | Last modification | View Log | RSS feed
Documentação do funcionamento da s páginas que começam por /dir/*
URL pattern requerido pelo DirProxy
/dir/${directory}/${path}?${queryString}
-> DirProxy
-> Encaminha para
/dirLayout.do?directory=" + directory + "&path=" + path + "&" + request.getQueryString()
-> DirLayoutController
Carrega o directorio no parametro com o serviço de load directories
LoadDirectoryServiceXml
1. Parte o path nas / para obter os ID's
2. Vai buscar cada id ao directorio e constroi os direitos de acesso
3. Se o id não for encontrado supõe-se que faz parte da parte externa do link e para-se
4. Constroi-se o URL externo com base nos ID's a partir do STOP ID
4.1 supondo que todos os id's foram encontrados significa que o external fica vazio com ""
5. Escolhe os layouts senão houver definidos usa o style1 e o layout1
6. Retira os atributos do Nó onde foi parar com os id's no directorio
7. Se for absoluto faz redirect
8. Se a flag layout estiver a false no nó final usa o layoutEmpty usa apenas o Body
com todo o conteudo do link
9. Olha para o external file e se for um ficheiro procura os encodings por tipo de ficheiro para esse proxy
e preenche o encoding do proxy e coloca num atributo do request
Caso não haja external file preenche o encoding do proxy à mesma
apenas não preenche sefor um ficheiro de tipo não considerado nas fileExtensions desse proxy
useOutputStream = false ainda nao sei porquê
10. Verifica se é necessário importar ficheiros FTP no pedido que estamos a executar
11. Se nao houver layout para fazer (style=false no nó) coloca o useOutputStream = true
12. Caso o useOutputStream=true encaminha imediatamente para o DirWebProxy
13. Caso haja layout faz findForward para esse layout, portanto o layout escolhido tem de estar nos forwards
14. O layout escolhido tem um forward para uma página onde o body é o DirWebProxy exemplo:
<definition name="page.layoutWelcome.dir" extends="base.layoutWelcome">
<put name="body" value="/DirWebProxy"/>
</definition>
15. Configurações no nó do directorio que influênciam o resultado
layout, style, absolute
layout = true obriga a colocar o resultado no BODY do layout escolhido
layout = false usa o layout empty apenas com o BODY e nada mais
style = true obriga o nó a passar pelo XSL para por exemplo usarmos Barras de navegação
style = false mete directamente o resultado do proxy no BODY do layoyt
absolute reencaminha o URL para fora do sistema