Mit webservice a) String auf Webseite ausgeben b) Weiterleitung auf andere Seite

beta20

Top Contributor
Hallo zusammen,

ich möchte gerne eine "Dankeseite" realisieren, nachdem ich ein Webformular ausgefüllt habe...
- Ich sende ein HTML Formular an meinen Webservice (<form action="https://mydomain.com/myservice">) und übermittle die Eingaben:

- Nun möchte ich zwei verschiedene Dinge zurückgeben vom Webservice:
a) Ein String, welcher dann auf der Webseite angezeigt wird (wäre dann sowas wie: "Vielen Dank, wir melden uns bei Ihnen etc." )
b) Weiterleitung zu einer anderen Seite

Der Webservice sieht so aus:
Code:
@Stateless
@Path("/service")

@POST
    @Path("/form/{key}")
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    @Produces(MediaType.TEXT_PLAIN)
    public String getFormDataUsingMultivaluedMap(@PathParam("key") String key,
            MultivaluedMap<String, String> formParams)
            
            // tue etwas....
            
            return "Vielen Dank";


"Vielen Dank" wird schon angezeigt nachdem das Formular ausgefüllt wurde...
Wie schaffe ich es nun aber auf eine andere Seite weiterzuleiten?

Danke
 
Also Du kannst dann eine Webseite zurückgeben, die dann mit javaScript nach eine gewissen Zeit zu einer neuen Webseite wechselt.

Das JavaScript könnte so aussehen:
Javascript:
setTimeout(function () {
   window.location.href= 'http://www.google.com';
},5000)

Den eigentlichen Redirect, den der Webserver zurück geben könnte, funktioniert sonst über Header, aber der Header muss natürlich gesetzt sein, ehe der Content kommt, d.h. wenn Du weiterleiten willst per Header, dann kannst Du meines Wissens nach keinen Text anzeigen.
 
wie kann ich dieses JavaScript dann in die bestehende Methode vom Webservice integrieren?
Ebenfalls die Frage, ob dann noch die Deklaration passt:
@Produces(MediaType.TEXT_PLAIN)
 
Je nach dem was dein Webservice zurückgibt, kannst du das ganze über XHTML lösen (weil es nichts anderes als besonders für den Browser kodiertes XML ist).
 
was meinst du genau?
Es sieht eben so aus:
Java:
<form action="https://mydomain.com/myservice">

// Input Felder, Button etc.
 
Die "Dankeseite" ansich, also HTML zurückzugeben scheint nicht das Problem zu sein.
Das Problem ist die Weiterleitung auf eine andere Seite.
 
und wie sollte dann die Methode aussehen?
Wie gesagt, ich möchte beide abdenken können:
a) HTML Code ausgeben
b) Weiterleitung auf andere HTML Seite

So sieht sie bisher aus
Java:
    @POST
    @Path("/form/{key}")
    @Consumes(MediaType.APPLICATION_FORM_URLENCODED)
    @Produces(MediaType.TEXT_PLAIN)
 

Zurück
Oben