Groovy Laden in divs

So versuchen, ein relativ (ich dachte) einfaches Setup in groovy zu erstellen, und ein paar Bits fehlen.

rundsätzlich versuche ich, eine Webseite mit drei Fenstern, einem Titel, einer linken Seitenleiste und einem Hauptfenster zu erstellen. Der Titel bleibt wie er ist, der linke Schmerz hat einen Controller zum Erzeugen von Berichten, die rechte Seite zeigt die Ausgabe. Soweit so gut, aber es gibt zwei oder möglicherweise drei Befehle oder Funktionen, die ich anscheinend nicht beherrschen kann. Gesucht, aber die von mir verwendeten Suchthermen sind wenig nützlich.

Also, zuerst die Haupt-.gsp, die, die ich vermuten würde, lädt die Struktur. Erstellt einen Controller und eine Ansicht namens Calllog. Der Controller ist leer, während index.gsp Folgendes enthält.

  <meta name='layout' content='call-log'/>
<html>
<head>
<title>Call log</title>
</head>
<body>
    <div id="CallLogo"><H1>Call Logger</H1></div>
    <div id="controller">
    <object type="text/html" data="dbstats/index">

    <g:link controller="dbstats" action="index">This is something</g:link>
    </div>
    <div id="output">Your output here</div>
</body>
</html>

Hier ist meine erste Ausgabe, es scheint nicht, dass sie die Div-Abschnitte erstellt, die ich erwarte, sie gibt sie nur aus. Zweitens scheint das nicht zu laden, und ich konnte keinen Operator finden.

Das Layout sieht wie folgt aus

    <!doctype html>

    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
        <title><g:layoutTitle default="call-log"/></title>
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <asset:stylesheet src="calllog.css"/>
        <asset:javascript src="call-log.js"/>
        <g:layoutHead/>
    </head>
    <body>
        <div class="CallLogo" id="CallLogo" role="banner"><a href="http://www.google.co.uk"><asset:image src="call.png" alt="call.png"/></a></div>
        <g:layoutBody/>
        <div id="controller" class="controller" role="contentinfo"></div>
        <div id="output" class="output" style="display:none;"><g:message code="spinner.alt" default="Loading&hellip;"/></div>
    </body>
</html> 

Das nächste Problem, das ich habe und das möglicherweise die gleiche Antwort hat, ist, wie ich eine Aktion aufrufe (oder zurückrufe). Der Dbstats-Controller stellt also ein Menü zur Verfügung. Sobald Sie auf "Submit" klicken, wird eine Submit-Klasse aufgerufen, in der einige Daten gespeichert sind. Ich möchte, dass dieser Bereich zum Index zurückkehrt und gleichzeitig einen Prozess startet um eine Ausgabe im Bereich "body" zu generieren.

============ AKTUALISIERUNG: Ein Schritt vorwärts Zwei Schritte ... =================== So näher gekommen, geschafft löse die probleme mit dem layout und divs, habe nicht geholfen, dass ich auch die falsche CSS datei bearbeitet habe.

Die Webseite sieht jetzt so aus

-------------------------------
|             Logo            |
-------------------------------
| Con |          Output       |
| tro |                       |
| lle |                       |
| r   |                       |
|     |                       |
-------------------------------   

Ich konnte ein Update durchführen, damit die Controller-Funktion korrekt geladen wird. Es gibt eine Liste, eine Senden-Schaltfläche und alles.

Was ich jedoch nicht herausfinden kann, ist. Sobald der Submit-Button gedrückt wurde und ich die Informationen gelesen habe, die ich nicht will (das funktioniert jetzt), wie kann ich entweder den Controller als controller = "dbstats" action = "index" in den div-Controller zurückladen und eine Funktion aufrufen Um die Ausgabe mit einem anderen Controller zu aktualisieren, sagen Sie controller = generateGraph action = graph. Versucht mit Weiterleitung, die mir sagte:

Der Code von submitform sieht derzeit so aus

def submitForm() {
def postIds = params.list('userform').get(0)
for ( e in session.users) {
    session[e] = "False"
}
postIds.each() { postId ->
    if ( postId.value == "1" ) {
        session[postId.key] = "True"
        //render {
            //div(id: "Output", "Will do ${postId.key}<BR>")
        //}>"
    }
    redirect(action: "CallLog")
  }

} Alles, was ich gebe, ist: Hier kann keine Umleitung (..) ausgegeben werden. Ein vorheriger Aufruf zur Umleitung (..) hat die Antwort bereits umgeleitet. Stacktrace folgt: Meldung: Hier kann keine Umleitung (..) ausgegeben werden. Ein vorheriger Anruf zur Umleitung (..) hat die Antwort bereits umgeleitet.

Würde gerne die ganze Seite neu zeichnen müssen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage