new URL?

Java

4 svar · 410 visningar · startad av Gaski

Medlem sedan juni 2000310 inlägg
Trådstart#1

Jag har en Java application och vill ändra lite i funktionerna, i en tänkte jag lägga till några rader så när funktionen startas skickar appletten vidare användaren till ett nytt URL i samma fönster som appletten kördes i.

Hur ser koden ut för detta? ta med alla import satser...

Medlem sedan apr. 20007 588 inlägg
#2

Något sånt här:

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
import java.net.*;
import java.applet.Applet;

getAppletContext().showDocument(new URL(getDocumentBase(), "filensnamn.jsp"),"_self");

Medlem sedan juni 2000310 inlägg
#3

Får följande felmeddelande:

<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
Exception java.net.MalformedURLException must be caught, or it must be declared in the throws clause of this method.

Sedan pekar den på "new URL" i satsen.
Vad är fel?

Medlem sedan apr. 20007 588 inlägg
#4

Jepp, URL-klassens konstruktor kastar ett så kallat undantag om web-adressen är felaktig. När du instansierar ett URL-objekt så måste du fånga upp eventuella undantag som kastas med följande sats:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
try {
... nånting "farligt" som kastar undantag
} catch(NågotException e) {
...gör något med undantaget..
}

Koden ovan kanske ser lite mysko ut så läs gärna på lite om undantag för det är en ganska central del av Java och är ytterst användbart.

Så här kan det se ut i ditt fall:
<font size="1" face="Verdana, Arial, Helvetica, sans-serif">Kod:<font size="1" face="Verdana, Arial, Helvetica, sans-serif" color="#666600">
try {
getAppletContext().showDocument(new URL(getDocumentBase(), "filensnamn.jsp"),"_self");
} catch(MalformedURLException mfe) {
System.out.println("FEL: "+mfe.getMessage());
}

Koden ovan kommer att skriva ut "FEL: <felmeddelande>" om ett undantag av klassen MalformedURLException kastas.

Medlem sedan juni 2000310 inlägg
#5

Tack så hemskt mycket för hjälpen!

257 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
116 ms — ändringar (db)