2017-01-27 13 views
2

В моем Апаче плитки конфигурационного файл, у меня есть раздел, как это:ли логика на апаче плитки атрибутов

<definition name="admin/*/*" extends="adminLayout"> 
    <put-attribute name="key" cascade="true" value="{1}" /> 
</definition> 

Тогда в моем JSP, я хотел бы сделать некоторые логики на атрибуте плитки. Что-то вроде:

<c:if test="${key == 'value'}"> 
    // do something 
</c:if> 

где ключ происходит от атрибута плитки.

Как получить доступ к этому атрибуту плитки внутри языка выражений?

Я попытался

<c:set value="<tiles:insertAttribute name='key'/>" var="theKey"></c:set> 

и

<c:if test="${<tiles:insertAttribute name='key'/> == 'value'}"> 

и оба раза сырые плитки XML используется в качестве сравнения строки - это не заменяются атрибутом.

ответ

2

Использование Tiles extras:

<jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" 
    xmlns:c="http://java.sun.com/jsp/jstl/core" 
    xmlns:tiles="http://tiles.apache.org/tags-tiles" 
    xmlns:tilesx="http://tiles.apache.org/tags-tiles-extras" 
    version="2.0"> 

    <tilesx:useAttribute id="keyJspVariable" name="key" classname="java.lang.String" /> 

    <c:if test="${keyJspVariable== 'value'}"> 
     // do something 
    </c:if> 

Документация Пример: https://tiles.apache.org/framework/tutorial/advanced/list-attributes.html

+0

Отлично! спасибо – jlars62