2016-09-07 2 views
0

Что я могу сделать с этим скриптлетомScriplets в Liferay

<% 
    ResultRow row = (ResultRow) request.getAttribute(BookAndAuthor.SEARCH_CONTAINER_RESULT_ROW); 

    Book book = (Book) row.getObject(); 
%> 

Если я хочу использовать value="${book.BookId} в этом коде?

<liferay-ui:icon-menu> 

    <portlet:actionURL name="deleteBook" var="deleteBookVar"> 
     <portlet:param name="bookId"  value="<%=String.valueOf(book.getBookId())%>" /> 
    </portlet:actionURL> 

</liferay-ui:icon-menu> 
+0

В чем проблема, с которой вы сталкиваетесь? –

+0

@ParkashKumar Я вообще не могу использовать скрипты в своем проекте, это правило задачи. Я знаю, что могу как-то использовать JSTL и EL, но я не знаю, как это сделать. :( – German

+0

Вы можете сначала использовать JSTL для установки этих значений с помощью 'c: set', затем использовать их с именами переменных, используя EL. –

ответ

0

Это немного сложно, но я должен работать. Используйте переменную для хранения значения константы SEARCH_CONTAINER‌​_RESULT‌​_ROW

<c:set var="resultRowConstant" value="<%=BookAndAuthor.SEARCH_CONTAINER‌​_RESULT‌​_ROW%>" /> чем читать атрибут, вы должны быть в состоянии использовать кронштейн обозначения для доступа к «динамических» свойства: <c:set var="row" value="${[resultRowConstant]}"/> и что будет держать ResultRow объект, чем вы получаете доступ к своему книжному объекту через

${row.object} 
+0

Нет, это не работает. SEARCH_CONTAINER _RESULT _ROW подчеркнуто и «Синтаксическая ошибка на токенах, удалите эти сообщения токенов». – German

+0

http://stackoverflow.com/a/239293/4091231 – KLajdPaja

+0

Итак? Я не понимаю, извините – German

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