Mam następujące pliki:
NewServlet.java
newhtml.html
Samochod.java
I gdzie należy stworzyć obiekt Samochód? W pliku NewServlet?
Wątek przeniesiony 2016-03-04 16:20 z Webmastering przez dzek69.
Mam następujące pliki:
NewServlet.java
newhtml.html
Samochod.java
I gdzie należy stworzyć obiekt Samochód? W pliku NewServlet?
Co to za nazwy: 'NewServlet.java', 'newhtml.html' i swojskie 'Samochod.java' ???!!!
W myśl MVC, należałoby unikać mieszania modelu z warstwą widoku.
plik newservlet robi za servlet, plik newhtml.html służy do formularza napisanego w html. Chcę stworzyć obiekt klasy samochód i wypisać jego pola, lecz nie wiem gdzie należy obiekt zdefiniować i jak go potem wypisać.
szarlotka byłabyś w stanie pomóc?
W metodzie doPost w servlecie mam taki kod:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Movie film = new Movie("horror","tak");
PrintWriter out = response.getWriter();
response.getWriter().println(film.wypisz());
processRequest(request, response);
}
Jednak występuje błąd w tej linijce :
response.getWriter().println(film.wypisz());
Klasa movie ma następujący kod:
public class Movie {
String gatunek;
String nazwa;
public Movie(String gatunek,String nazwa){
this.nazwa=nazwa;
this.gatunek=gatunek;
}
void wypisz(Movie movie)
{
System.out.println(movie.gatunek);
}
}
Jak zrobić aby wypisało gatunek obiektu movie?
String wypisz()
{
return gatunek;
}
ok dzięki działa.
Dlaczego jak mam kod:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Movie film = new Movie("horror","tak");
String gatunek = request.getParameter("film.wypisz()");
PrintWriter out = response.getWriter();
out.println(gatunek);
processRequest(request, response);
}
to zamiast gatunku wypisuje null? W tym kodzie wypisze normalnie gatunek:
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
Movie film = new Movie("horror","tak");
PrintWriter out = response.getWriter();
out.println(film.wypisz());
processRequest(request, response);
}
Przekazałeś w żądaniu parametr o nazwie film.wypisz()?
Robi się to w metodzie processRequest?
O to chodzi: ?
String gatunek = request.getParameter("film.wypisz()");
?
Tak. Jak wywołujesz serwlet, z pliku jsp?
chyba chodzi o to, że metoda nie ma przypisanego atrybutu wartości name? Tylko jak to zrobić, bo w pliku html dla np. zmiennej imie robi się to w taki sposób:
Imie:
<input type="text" name="imie" id="imie" />
W klasie jednak nie wiem czy to jest możliwe?
<p>Imie:<br /> <input type="text" name="imie" id="imie" /></p>
Dla formularza:
<form method="POST" action="sciezka-do-servletu">
<input type="text" name="moj-parametr">
</form>
Pobranie parametru o nazwie "moj-parametr" wygląda tak:
String mojParametr = request.getParameter("moj-parametr");
Mam tak zrobione. Jest ok.
Jeśli natomiast mam taką metodę:
String wypisz()
{
System.out.println("napis");
return gatunek;
}
to w NewServlecie mam:
out.println("<br />" + film.wypisz))
to gatunek zostanie wypisany, ale jak sprawić aby to co jest w println w metodzie się wypisało? Jest to możliwe?
String wypisz() {
// zamiast System.out.println("napis");
return "napis " + gatunek;
}