Builder.cz - Informacni server o programovani

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:



web.xml - welcome file - redirect místo forward

Seznam témat     Nová odpověď

Přihlásit se     Registrace     Zapomenuté heslo

Re: web.xml - welcome file - redirect místo forward

Autor: honyk

19:43:06 20.05.2011

No nakonec jsem použil to řešení z javapractices. A koukám, že se podobá řešení od designerrra. Jen je to servlet namísto filtru. Je v tom nějaký podstatný rozdíl?

Citovat příspěvek

 

Re: web.xml - welcome file - redirect místo forward

Autor: honyk

22:57:00 19.05.2011

Dikec, ja jeste objevil tohle:
http://www.javapractices.com/topic/TopicAction.do?Id=219

Ale nakonec se ted zaobiram tim resenim od Maaartina, tedy nacist nejakou init stranku a az z ni zavolat index. Ono je to nejcistsi, pac tam potrebuju predat nejaky dynamicky parametry.

To jde v JSF2.0 manuálně takhle:
[code][/code]
Jen nějak nevím, jak to vyvolat bez toho manuálního kliknutí na vygenerovaný odkaz. Při renderovaní stránky se ten zápis transformuje do javascriptu. Možná by to byla cesta - ten skript si zkopčit a spouštět ho automaticky s nějakým $(document).ready eventem.

Citovat příspěvek

 

Re: web.xml - welcome file - redirect místo forward

Autor: designerrr

20:59:44 19.05.2011

Muzes zkusit filter jestli chces.
[code]

package filters;

import java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
import javax.servlet.annotation.WebFilter;
import javax.servlet.http.HttpServletResponse;

@WebFilter(filterName="Redirector", urlPatterns={"/"})
public class Redirector implements Filter {


@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain)
throws ServletException, IOException {

((HttpServletResponse)response).sendRedirect("/faces/index.xhtml");
}

@Override
public void init(FilterConfig filterConfig) throws ServletException {

}

@Override
public void destroy() {

}


}

[/code]

Jestli ten server, na kterym ti to bezi, podporuje Servlety 3.0, tak staci tu tridu umistit kamkoliv do balicku, tak aby pak vysledny soubor byl v te slozce classes ve web-inf.

Akorat nevim jak s tim url patternem, mel by se mapovat na defaultni servlet te aplikace, ale me to na lokale nefunguje, ale ja nemam adresu aplikace v klasickym tvaru, ale aplikace se mapuje na urcitou context path, treba server.com/aplikace/, kde context path je to /aplikace/.

Citovat příspěvek

 

Re: web.xml - welcome file - redirect místo forward

Autor: Maaartin

14:13:49 19.05.2011

Na to abys mohl udelat redirect potrebujes ho mit odkud udelat. Takze prvni url asi redirect byt nemuze.

Strc si do welcomu naky blabla a z nej udelej redirect kam sces. Jak to udelat v tom kramu netusim, ale v HTTP se to dela pres 301 a header Location. Jako nouzovka to jde i v JS.

Citovat příspěvek

 

web.xml - welcome file - redirect místo forward

Autor: honyk

8:20:20 19.05.2011

Zdravím, když ve web.xml definuju výchozí soubor, po zadání základní URL (http://server.com/) se mi stránka načte, ale nezobrazí se aktuální URL (tedy název stránky). Když pak odešlu form, který tuhle stránku trochu změní, vrátí mi to už korektní URL. Jenže browser má aktivované tlačítko zpět, které mi celou logiku nabourává (díky němu se dostanu na výchozí stav stránky před odesláním formu).

Myslím, že by mi to mohlo řešit to, že by ta URL k dané stránce byla už od začátku správná, tedy po vyťukání základní URL http://server.com/ by se v browseru objevilo http.//server.com/faces/index.xhtml

Lze nějak ve web.xml říct, že stránka definovaná jako welcome-file se bude volat pomocí redirect, nikoliv jako forward?

Ale třeba je to pro mě jen slepá ulička. Jak něco takového řešit?

Citovat příspěvek

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: