рендеринг контента в шаблоне gsp - PullRequest
2 голосов
/ 15 декабря 2011

Я новичок в Grails, я хочу записать содержимое html-таблицы 'cart_table' (в настоящее время в shoppingcart.gsp) в _carttemplate.gsp и показать эту таблицу в другом gsp (например, summary.gsp), добавив это новый шаблон

В настоящее время у меня есть таблица, определенная в shoppingcart.gsp следующим образом:

<table id="newTable" style="display:none">
    <thead><th>item name</th><th>desc</th><th>business justification</th><th>start date</th><th>end date</th></thead>
    <tbody></tbody>
</table>

и я наполняю тело следующим образом

$("#confirmbutton").click(function(){
        var ntr='',//to store html for new table row
         rows=[],//to collect new rows
        $tbl=$("#table_rolecart tbody"),//original table
        l=$("tr", $tbl).length;//length of rows in original table's tbody section
        var row, brow, drow;
        :
        : /* getting rows from other tables */
        }
        $("#newTable tbody").append(rows.join(''));

Как мне поместить таблицу в template.gsp? и на странице подтверждения, как я могу отобразить таблицу?

1 Ответ

3 голосов
/ 15 декабря 2011

Это объяснит более подробно о рендеринге шаблона: http://grails.org/doc/latest/ref/Tags/render.html

Для вашего кода это звучит так, как если бы вы просто делали это в shoppingcart.gsp и summary.gsp:

<g:render template="carttemplate" />

Тогда _carttemplate.gsp будет выглядеть так:

<table id="newTable" style="display:none">
<thead><th>item name</th><th>desc</th><th>business justification</th><th>start date</th>     <th>end date</th></thead>
    <tbody></tbody>
</table>

Единственная сложность заключается в том, как вы заполняете данные с помощью JavaScript. Если вам нужно несколько мест, он может использовать один и тот же javascript, чем вы можете поместить свой скрипт в файл .js и ссылаться на него из любого gsp, который представляет ваш шаблон. Если они разные, то вы не сможете использовать их много раз.

Также обратите внимание, что вам может потребоваться указать каталог шаблона в теге g: render. Давайте предположим эту структуру:

  • просмотры
    • корзина
      • shoppingcart.gsp
      • _carttemplate.gsp
    • Резюме
      • summary.gsp

shoppingcart.gsp может делать:

<g:render template="carttemplate" />

Но Summary.gsp должен сделать:

<g:render template="/cart/carttemplate" />
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...