2017-10-19 4 views
0

Ich habe ein Textfeld und einen Submit-Button in meiner Ansicht nach in der Admin-Seite gemacht, und ich mag tun, damit der Text i vorlegen wird unter meiner Textbox auf der gleichen Seite gezeigt.Text gleiche HTML-Seite

Dies ist mein Controller zum Admin für immer:

@RequestMapping(value = "/adminPage", method = RequestMethod.POST) 
public String adminPage(Model model) { 

return "adminPage"; 
} 

das ist, was ich für meine Admin haben:

<form th:action="@{/adminPage}" method="post"> 
    <textarea rows="4" cols="50"> 
</textarea> 
    <input type="submit" class="btn btn-lg btn-primary btn-block" 
value="Submit Text"/> 

</form> 

ich an Controller und MVC in der Regel noch sehr neu bin, und ich finde es schwierig, mein Wissen in Java zu verwenden, weil Controller nicht wie irgendein Java aussehen, das ich vorher benutzt habe, also würde jede Hilfe geschätzt werden!

+0

Verwenden Sie Javascript dafür. Sie müssen nichts an den Server senden, da es sich um eine Client-Seite handelt. –

+0

wir jede Javascript in der Schule gelernt havn't, ich fühle mich verloren .. – ITGuru

+0

ja aber JavaScript ist nicht die Antwort, wenn er an einen Server senden will :), die manchmal der Fall ist -, wenn er entscheidet, dass Informationen zu speichern und nicht nur zeige es an –

Antwort

0

ok dann kein Javascript. Zunächst benötigt textarea ein Namensattribut .

Dieser Name wird in dem Modellobjekt verwendet werden, wenn der Server-Methode die Anforderung empfängt:

@RequestMapping(value = "/adminPage", method = RequestMethod.POST) 
public String adminPage(@RequestParam("inputText") String input, Model model) { 
    //Do stuff 
    model.addAttribute("theText", input); //add the text which can be accessed on "adminPage" 
    return "adminPage"; 
} 

dann können Sie eine <div> in „adminPage.jsp“ hinzufügen und Ihren Text dort anzuhängen, wie:

<div>${theText}</div> 
+0

Ah tolle Lösung! Ich brauche immer noch eine ID für die Eingabe, String ist in Ordnung, denke ich. – ITGuru

+1

yeah sorry behoben das. Ich habe gerade freihändig getippt :) –

0

Wenn ich Ihr Problem als hier richtig verstanden habe, ist die Problemumgehung, die den Job machen wird.

Wenn Benutzer /adinPage vom Browser als input_data Variable wird null und die If-Bedingung wird nicht ausgeführt werden. Die JSP-Seite wird mit dem zweiten textarea als leer zurückgegeben.

Sie müssen JSP verwenden, da HTML Seiten nicht geändert werden können.

Controller.java

@RequestMapping(value = "/adminPage", method = RequestMethod.POST) 
public String adminPage(@RequestParam(value = "input_data", required = false) String input_data,Model model) 
{ 
    if(input_data!=null) 
     model.addAttribute("output_data",input_data); 

    return "adminPage"; 
} 

adminPage.jsp

<form th:action="@{/adminPage}" method="post"> 

     <textarea id="input_data" rows="4" cols="50"> 
     </textarea> 

     <textarea rows="4" cols="50"> 
     ${output_data} 
     </textarea> 

     <input type="submit" class="btn btn-lg btn-primary btn-block" 
     value="Submit Text"/> 

</form> 

Wenn der Benutzer das Formular ausfüllt, wenn die Bedingung ausgeführt wird, und die zurückgegebene Ansicht wird die zuvor eingegebene enthalten Daten in der zweiten textarea

habe ich nicht Test ed den Code so, könnte es einige Syntaxfehler enthalten.

Verwandte Themen