Avatar billede gorlist Nybegynder
17. november 2003 - 22:09 Der er 14 kommentarer og
1 løsning

Include sprog.js

Jeg er ved at bygge en applikation i Websphere, men er desværre forholdsvis grøn i Java.

Jeg skal foretage sprogstyring i applikationen og jeg har oprettet en .js fil som holder styr på sproget og hvilken sprogversion af en variabel som skal bruges.

I ASP kan man blot referere til .js filen og så kan man bruge alle variabler som er erklæret.

Hvordan kan jeg referere til f.eks. 'var strKunde' i .js filen fra en .java fil?
Avatar billede arne_v Ekspert
17. november 2003 - 22:13 #1
.js = JavaScript kode som bliver udført client-side

WebSphere = J2EE app-server = Java kode som bliver udført server-side

Så jeg tror at vi skal have lidt mere at vide om hvad det er du vil, fordi
Java kode i WebSphere kan af gode grunde ikke bruge noget client side kode
der ikke engang er sendt ud til client endnu.
Avatar billede arne_v Ekspert
17. november 2003 - 22:15 #2
Hvis du bare vil lave en simpel include i JSP af en ekstern fil inden
HTML sendes ud til client så læs her:

http://java.sun.com/j2ee/tutorial/1_3-fcs/doc/JSPIntro8.html#69939
Avatar billede gorlist Nybegynder
17. november 2003 - 22:19 #3
Det er først når teksten skal skrives ud på skærmen hos klienten at der skal sprogstyres. F.eks.:

<script language="JavaScript">document.write(strKunde);</script>

Selv om applikationen er bekendt med sprog.js, er den ikke i stand til at finde 'strKunde' variablen. Er der nogen speciel måde den skal kaldes på?
Avatar billede arne_v Ekspert
17. november 2003 - 22:46 #4
Prøv og åben siden i browseren og vælg "view source" og kig
på JavaScript koden og se om den ser OK ud.
Avatar billede gorlist Nybegynder
17. november 2003 - 22:48 #5
JavaScript koden er OK - den melder fejlen at 'strKunde' ikke kan findes.
Avatar billede arne_v Ekspert
17. november 2003 - 22:52 #6
Hvis du får den fejl ude på klienten så er JavaScript koden vel ikke OK !?
Avatar billede gorlist Nybegynder
17. november 2003 - 22:59 #7
Hmm...JavaScript koden er vel OK, eftersom parseren læser scriptet korrekt. Problemet er stadig at sprog.js ikke er korrekt inkluderet i applikationen. Jeg poster lige min include i morgen fra job.
Avatar billede gorlist Nybegynder
18. november 2003 - 06:26 #8
Min reference til sprog.js ser ud som nedenstående:

out.println("<SCRIPT language=\"javascript\" type=\"text/javascript\" src=\"sprog.js\"></SCRIPT>");

Debuggeren finder også fint 'sprog.js' i den angivne sti, men jeg kan ikke tilgå variable (eller også ved jeg ikke hvordan man tilgår dem korrekt i Java).

Et lille udpluk fra 'sprog.js':

var strLanguage;
try {
  strLanguage = top.logo.trim(top.logo.getLanguage().toUpperCase());
} catch(e) {}

if (strLanguage == '' || strLanguage == undefined) {
  strLanguage = 'DA';
}

var    strVaelgPeriode;
var    strLoensom;
var    strKunde;

switch (strLanguage){
  case 'DA' :
  strVaelgPeriode        = 'Vælg periode: ';
  strLoensom            = 'Lønsomhed';
  strKunde                      = 'Kunde';
  break;
  case 'EN' :
  strVaelgPeriode        = 'Choose period: ';
  strLoensom            = 'Lønsomhed';
  strKunde                      = 'Customer';
  break;
  case 'SE' :
  strVaelgPeriode        = 'SE-Vælg periode: ';
  strLoensom            = 'Lönsamhet';   
  strKunde                      = 'Kunne';
  break;
  case 'NO' :
  strVaelgPeriode        = 'NO-Vælg periode: ';
  strLoensom            = 'Lønsomhed';   
  strKunde                      = 'Kunde';
  break;
Avatar billede erikjacobsen Ekspert
18. november 2003 - 06:38 #9
"I ASP kan man blot referere til .js filen og så kan man bruge alle variabler som er erklæret."
-  hvordan gør du det?
Avatar billede gorlist Nybegynder
18. november 2003 - 07:08 #10
Godmorgen Erik-
Whoops, fortalelse. Jeg laver naturligvis en reference i JavaScript som ligger i en .asp (<SCRIPT language="javascript" type="text/javascript" src="../sprog.js"></SCRIPT>)
Avatar billede erikjacobsen Ekspert
18. november 2003 - 07:13 #11
Ok så - men der er ingen forskel om du bruger ASP eller JSP, da JS afvikles
i browseren.

Har du et link til siden hvor det går galt?
Avatar billede gorlist Nybegynder
18. november 2003 - 07:23 #12
Nej, desværre, jeg sidder og udvikler lokalt på maskinen via en WAS-server.

Men bør det være nok at skrive:
out.println("<SCRIPT language=\"javascript\" type=\"text/javascript\" src=\"sprog.js\"></SCRIPT>");

for at få adgang til variablerne i .js-filen fra en klasse?
Avatar billede erikjacobsen Ekspert
18. november 2003 - 07:34 #13
Jeg forstår ikke hvad du mener med at "få adgang til variablerne [...] fra
en klasse"? JavaScript afvikles i browseren, og ikke på serveren.
Avatar billede gorlist Nybegynder
18. november 2003 - 07:45 #14
Jeg 'putter' noget HTML og JavaScript med variable fra nogle dataudtræk. F.eks. putter jeg et table og en rubrik. I denne rubrik indgår ord som 'Kunde','Konto','Forespørgsel' som jeg skal sprogstyre. Derfor navngiver jeg disse ord f.eks. 'strKunde','strKonto' og pakker det ind i et
<SCRIPT language="javascript" type="text/javascript">document.write(strKunde)</script>
'strKunde' er defineret i sprog.js og returnerer en værdi (f.eks. 'Customer' eller 'Kunde') alt efter hvilket sprog der er valgt og udskriver på skærmen.

Tror at jeg har et forklaringsproblem :o)
Avatar billede gorlist Nybegynder
18. november 2003 - 11:47 #15
Jeg havde lagt sprog.js i den forkerte projekt-undermappe. Den skulle ikke ligge i 'source' men i 'WEB-INF'.

Ellers tak for hjælpen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester