Как преобразовать переменную JSTL в строку в Liferay JSP? - PullRequest
0 голосов
/ 21 декабря 2010

У меня проблема с моим последним портлетом Liferay или, скорее, с JSP, который я использую в этом портлете. Я использую массив строк, который содержит строки, которые отображаются на странице с помощью кнопки удаления. Каждая из этих кнопок вызывает actionURL для передачи выбранных данных другой функции. Может быть, легче понять, что я хочу сделать, просто взглянув на мой пример кода:

<c:forEach var="name" items="<%=myNames %>">    
    <liferay-portlet:actionURL name="deleteName" var="${name}">
        <liferay-portlet:param name="myName" value="${name}" />
    </liferay-portlet:actionURL>    
    <c:out value="${name}" />
    <liferay-ui:icon-delete label="<%= true %>" url="${name}"/> 
</c:forEach>

Может быть, вы уже заметили, в чем заключается моя проблема: атрибут var в actionURL должен быть строкой. Вот почему этот пример не работает. Теперь у меня вопрос: как я могу динамически преобразовать свою переменную $ name, чтобы установить ее в actionURL, а затем вызвать ее с помощью значка?

Спасибо.

1 Ответ

2 голосов
/ 21 декабря 2010
<%
List<String> names = new ArrayList<String>();
names.add("me");
names.add("myself");
names.add("I");

pageContext.setAttribute("names", names);
%>

<c:forEach var="name" items="${names}">
    <portlet:actionURL var="deleteURL">
        <portlet:param name="myName" value="${name}" />
    </portlet:actionURL>

    <liferay-ui:icon-delete label="<%= true %>" url="${deleteURL}"/>
</c:forEach>

Это у вас работает?

...