/ Forside / Teknologi / Udvikling / Java / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java
#NavnPoint
molokyle 3688
Klaudi 855
strarup 740
Forvirret 660
gøgeungen 500
Teil 373
Stouenberg 360
vnc 360
pmbruun 341
10  mccracken 320
JSP problem med kode
Fra : Rune Runnestø


Dato : 27-04-05 08:04

Hei, jeg har laget et lite program som ikke gjør akkurat det jeg hadde tenkt
det skulle gjøre. Det er en miniatyr av en gjestebok for web, hvor besøkende
kan skrive inn hilsener. Programmet består av 3 filer:
- guestbook.jsp -> dette er formen
- writeToFile.jsp -> skriver dataene tastet inn i formen til en fil
- readFromFile.jsp -> leser alle hilsninger fra en fil til filen
Guestbook.jsp

Her er filen Guestbook.jsp:
------------------------------
<!-- Guestbook.jsp -->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Gjestebok</title>
</head>
<body bgcolor="wheat" text="darkgreen" link="red" vlink="steelblue"
alink="darkblue">

<h1>Gjestebok</h1>

<form action="WriteToFile.jsp" method="POST" >
<p>
Name: <input type="text" name="namn" size="30" ><br><br>
Email: <input type="text" name="email" size="30" >
</p>
<p>
Skriv en hilsen her: <br>
<textarea type="textarea" name="comments" rows="4" cols="40">
</textarea>
</p>
<p>
<input type="submit" name="Send" value="Send">
<input type="reset" name="Reset" value="Reset">
</p>

</form>

<!-- Denne filen under her skal ikke inkluderes hvis den ikke er laget.
Hvordan kan jeg lage en try-catch for å forsikre meg om det ?
-->
<jsp:include page="ReadFromFile.jsp" />

</body>
</html>

Her er filen WriteToFile.jsp:
------------------------------
<!--
WriteToFile.jsp

Denne filen blir aktivert av "Guestbook.jsp'.
Den fanger data fra formen og skriver dem til
filen. Nye hilsener blir lagt til de som er der fra før.

-->

<%@ page import="java.io.*" %>

<%!
String relFilname = "allGreetings.txt";
String greeting = "";
%>
<a href="mailto:astark1@unl.edu">


<%
if (request.getParameter("Send") != null && session.getAttribute("saved")
== null) {
String filname = application.getRealPath(relFilname);
if(request.getAttribute("email") != null){ //epostadresse er ikke tom
greeting =
"From: " + request.getParameter("namn") +
" date received: " + new java.util.Date().toString()+ "\n" +
request.getParameter("comments") + "\n" +
"*****" + "\n" + "\n";
}else{ //the mail address is empty
greeting =
"From: " + request.getParameter("namn") +
" date received: " + new java.util.Date().toString()+ "\n" +
request.getParameter("comments") + "\n" +
"*****" + "\n" + "\n";
}

FileWriter writeConnToFile = new FileWriter(filname, true); //append
PrintWriter writer = new PrintWriter(new
BufferedWriter(writeConnToFile));
writer.print(greeting);
writer.close();

session.setAttribute("saved", "ok");

out.println("<p>Din hilsen er nå lagret i gjesteboken.</p>");
}
%>
<P><A HREF = "Guestbook.jsp">Tilbake til gjesteboken</A>


Her er filen ReadFromFile.jsp:
------------------------------
<!--
ReadFromFile.jsp

Denne filen leser alle hilsener i gjesteboken..
Filen blir kallet fra filen 'Guestbook.jsp'.

-->

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
<title>Alle hilsninger</title>
</head>
<body bgcolor="wheat" text="darkgreen" link="red" vlink="steelblue"
alink="darkblue">
<%@ page import="java.io.*" %>

<p><strong>Registrerte besøkende så langt</strong><br><br></p>
<%!
String relFilname = "allGreetings.txt";
%>

<!-- open the file for reading -->
<%
String filname = application.getRealPath(relFilname);
FileReader readConnToFile = new FileReader(filname);
BufferedReader reader = new BufferedReader(readConnToFile);

String line = reader.readLine();
while(line != null){
out.println(line + "<br>");
line = reader.readLine();
}

reader.close();
%>
</body>
</html>

------------------

De problemer jeg har støtt på, er følgende:

1) Setningen "<jsp:include page="ReadFromFile.jsp" />"
i filen Guestbook.jsp skal bare skje hvis filen "allGreetings.txt" er
laget.
Hvordan skriver jeg koden for det ?

2) Når navnet på en person kommer til syne i den inkluderte filen i bunnen
av filen "Guestbook.jsp", under "Registrerte hilsener så langt", så skal
det være mulig å sende en epost til denne personen dersom personen har
skrevet inn epostadressen sin i formen. Bare ved å klikke på navnet til
personen. Navnet må altså gjøres til en link. Hvordan koder jeg denne linken
(noe i retning av ' <href mailto: ....' antar jeg ) ?

Hilsen
Rune




 
 
Thorbjoern Ravn Ande~ (27-04-2005)
Kommentar
Fra : Thorbjoern Ravn Ande~


Dato : 27-04-05 12:23

"Rune Runnestø" <rune@fastlane.no> writes:

> <!-- Denne filen under her skal ikke inkluderes hvis den ikke er laget.
> Hvordan kan jeg lage en try-catch for å forsikre meg om det ?
> -->
> <jsp:include page="ReadFromFile.jsp" />
> 1) Setningen "<jsp:include page="ReadFromFile.jsp" />"
> i filen Guestbook.jsp skal bare skje hvis filen "allGreetings.txt" er
> laget.
> Hvordan skriver jeg koden for det ?

<c:catch> (JSTL, findes i JSP 2.0) fanger exceptions.

>
> 2) Når navnet på en person kommer til syne i den inkluderte filen i bunnen
> av filen "Guestbook.jsp", under "Registrerte hilsener så langt", så skal
> det være mulig å sende en epost til denne personen dersom personen har
> skrevet inn epostadressen sin i formen. Bare ved å klikke på navnet til
> personen. Navnet må altså gjøres til en link. Hvordan koder jeg denne linken
> (noe i retning av ' <href mailto: ....' antar jeg ) ?

<a href="mailto:user@wherever.dk">user@whereever.dk</a> plejer at fungere.

--
Thorbjørn Ravn Andersen
http://unixsnedkeren.dk/ravn/

Jonathan Stein (27-04-2005)
Kommentar
Fra : Jonathan Stein


Dato : 27-04-05 13:18

Rune Runnestø wrote:

> <!-- Denne filen under her skal ikke inkluderes hvis den ikke er laget.
> Hvordan kan jeg lage en try-catch for å forsikre meg om det ?
> -->
> <jsp:include page="ReadFromFile.jsp" />

Du includer en fil, der skal include en fil...

> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> ...

- og den inkluderede fil har en ny header-sektion. Så ender du med et
HTML-dokument, som pludselig har en ekstra header midt i det hele - det
bliver noget rod!

Jeg ville nok flytte funktionerne fra "ReadFromFile.jsp" og lægge dem
ind i "Guestbook.jsp". Jeg ville måske endda også flytte funktionerne
fra "writeToFile.jsp" med, men det er mere en smagssag.

M.v.h.

Jonathan

--
Nye produktpakker med mere diskplads, flere postkasser
mere trafik og flere domæner på samme hotel.
http://www.jsp-hotel.dk/

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste