2012-07-25 2 views
0

У меня есть класс домена под названием Student .Это содержат некоторые переменные, такие как student_name, student_address, student_class .Actually Я хочу, чтобы отобразить сведения студентов в порядке student_class.Как вызвать элемент управления через внутренний g: каждый из GSP?

У меня есть страница GSP, называемая list.gsp. list.gsp:

<g:each in="${std}" status="v" var="stdInstance"> //All Class eg:1..10. 
<h3>${stdInstance.std_class}</h3>     
//Innerloop  
//here i want to display students details depending on the value of stdInstance.std_class. 
</g:each> 

Я хочу знать, как вызвать действие контроллера через внутреннюю г: каждый с проходящим Params.

+0

Является ли переменная std «списком» объектов? И вы говорите, что вам нужно перебирать этот список и в зависимости от значения в каждом «stdInstance.std_class» вам нужно что-то сделать? – srjit

ответ

1

В моем проекте я использую следующий включить раздел входа в мои страницы GSP, где требуется:

<g:include controller="user" action="login"/> 

Где контроллер является имя контроллера и действия является метод в контроллере. Вы можете использовать атрибут params="..." в этом теге для прохождения параметров. Я уверен, что вы сможете сделать то же самое в своем случае. Например.

<g:include controller="user" action="login" params="..."/> 
+0

Просто убедитесь, что вид существует. В этом случае он ожидал бы «$ {PROJECT_DIR} /grails-app/views/user/login.gsp» – pho

+0

Атрибут params должен быть сформирован следующим образом: params = "['arg1': 'String to pass through'] " – pho

+0

Ссылка http://grails.org/doc/1.1/ref/Tags/include.html – pho

0

Я бы предпочел отсортировать список std в контроллере и передать список уже заказанных. Единственное, что вы бы изменили, это вместо того, чтобы передавать список, который вы пройдете. list.sort{/*the order you want*/}

Если нет, используйте сортировку внутри g: каждый в любом случае ... Я предполагаю, что это может быть неоднозначным. Взгляните на sort closure.

Смежные вопросы