Невозможно отобразить тег формы с помощью команды render в Grails Controller - PullRequest
0 голосов
/ 09 октября 2009

Использование разметки с рендером не добавляет тег формы.

Я пробовал это с contentType "text / html", "txt / xml", и это не работает.

У меня есть это в моем контроллере:

 def myTest= {
    render(contentType: "text/plain") {
        div(id:"myDiv") {
            p "somess text inside the div"
            form (action:'get') {
                p "inside form"
            }
        }
    }

И я получаю это:

<div id='myDiv'><p>somess text inside the div</p><p>inside form</p></div>

Я хочу это:

<div id='myDiv'><p>somess text inside the div</p><form><p>inside form</p></form></div>

Кто-нибудь знает, почему не добавляется форма и как ее добавить?

Спасибо,

Federico

1 Ответ

2 голосов
/ 09 октября 2009

я обнаружил эту проблему ранее, и обходной путь заключался в непосредственном использовании компоновщика

def test = {
    def sw = new StringWriter()
    def b = new MarkupBuilder(sw)
    b.html(contentType: "text/html") {
        div(id: "myDiv") {
            p "somess text inside the div"
            b.form(action: 'get') {
                p "inside form"
            }
        }

    }
    render sw
}

отобразит следующий HTML

<html contentType='text/html'>
  <div id='myDiv'>
    <p>somess text inside the div</p>
    <form action='get'>
      <p>inside form</p>
    </form>
  </div>
</html>
...