동적으로 이름이 지정된 페이지 범위 변수가 필요한 태그가 있습니다.동적 이름을 사용하여 변수 생성
someTag.tag
<%@ tag language="java" pageEncoding="UTF-8" dynamic-attributes="expressionVariables" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ attribute name="expression" required="true" type="java.lang.String" %>
<c:out value="${expression}" /> <%-- this is just an example, I use expressions differently, they are not jsp el actually --%>
및 사용 예는
<%@ taglib prefix="custom_tags" tagdir="/WEB-INF/tags/custom_tags" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<c:set var="someAttr" value="someValue" />
<custom_tags:someTag expression="someMethod(#localAttr)" localAttr="${someAttr}" />
나는 태그의 페이지 범위를 localAttr
을 둘 필요가 있지만, JSTL <c:set var='${....}'... />
동적 이름을 허용하지 않습니다.
<c:forEach items="${expressionVariables}" var="exprVar">
<% jspContext.setAttribute(((java.util.Map.Entry)jspContext.getAttribute("exprVar")).getKey().toString(), ((java.util.Map.Entry)jspContext.getAttribute("exprVar")).getValue()); %>
</c:forEach>
이 할 수있는 다른 방법이 있습니까 :
나는 현재 스크립틀릿 다음 사용합니까?
[동적 변수 이름 Java] (http://stackoverflow.com/questions/5805843/dynamic-variable-names-java) – Raedwald
@Raedwald 가능한 중복이 질문은 내 주변에 없습니다. –