0
맞춤 태그를 만들려면 jstl을 사용하고 있습니다. 나는 위치 태그를 사용하고 여기에jstl 맞춤 태그 질문 - c : 출력 무시, 매개 변수 태그 지정 및 코드 줄이기
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn" %>
<%@ attribute name="id" required="true" %>
<%@ attribute name="locationType" required="false" %>
<br/>
<c:out value="${param.id}" /> <---THIS ALWAYS PRINTS NOTHING! WHY?
<br/>
<c:out value="${param.locationType}" /> <---THIS ALWAYS PRINTS NOTHING! WHY?
<br/>
<c:if test="${empty param.locationType}" >
<select id="<c:out value="${param.id}" />_locationTypeSelect">
<option value="ADDRESS">כתובת</option>
<option value="INSTITUTE">מוסד</option>
</select>
<script type="text/javascript">
$(document).ready(function() {
$('<c:out value="${param.id}" />_locationTypeSelect').change(function() {
switch($(this).val()) {
case 'ADDRESS':
$('<c:out value="${param.id}" />_addressCitySelect').show();
$('<c:out value="${param.id}" />_addressStreetSelect').show();
$('<c:out value="${param.id}" />_addressHouseNumberInput').show();
$('<c:out value="${param.id}" />_instituteNameSelect').hide();
$('<c:out value="${param.id}" />_instituteBranchSelect').hide();
break;
case 'INSTITUTE':
$('<c:out value="${param.id}" />_addressCitySelect').hide();
$('<c:out value="${param.id}" />_addressStreetSelect').hide();
$('<c:out value="${param.id}" />_addressHouseNumberInput').hide();
$('<c:out value="${param.id}" />_instituteNameSelect').show();
$('<c:out value="${param.id}" />_instituteBranchSelect').show();
break;
}
});
});
</script>
</c:if>
<c:if test="${empty param.locationType or param.locationType == 'ADDRESS'}" >
<select id="<c:out value="${param.id}" />_addressCitySelect"></select>
<select id="<c:out value="${param.id}" />_addressStreetSelect"></select>
<input type="text" id="<c:out value="${param.id}" />_addressHouseNumberInput"/>
</c:if>
<c:if test="${empty param.locationType or param.locationType == 'INSTITUTE'}" >
<select id="<c:out value="${param.id}" />_instituteNameSelect"></select>
<select id="<c:out value="${param.id}" />_instituteBranchSelect"></select>
</c:if>
: 요소의 생성 된 ID가 접두사 <c:out value="${param.id}" />
을 가지고하지 않는 몇 가지 이유를 들어
<h:location id="a" locationType="ADDRESS"></h:location>
<h:location id="b"></h:location>
- 여기 location.tag의 내용이다. 예를 들어, location.tag에서 나는
<input type="text" id="<c:out value="${param.id}" />_addressHouseNumberInput"/>
을 작성했지만 사용법의 결과는<input type="text" id="_addressHouseNumberInput"/>
(c:out
을 무시합니다.) 무엇이 잘못 되었습니까? - 두 가지 사용법 모두에 대해 html 결과는 동일하지 않습니다. 매개 변수 locationType에 인식되는 이유가 여기에 코드 중복을 많이 가지고
- 예를 들어, 모든 ID 접두사 점이다.?..
<c:out value="${param.id}" />
코드의 양을 줄일 수있는 방법이 있나요
엘 식은 무엇입니까? – Naor
@Naor : EL = 표현식 언어. JSP 2.0 이후로 JSP 표준의 일부이며 페이지에서 직접 사용할 수 있으므로'c : out'을 생략하고'$ {id} '를 사용할 수 있습니다. –