여러 개의 JSP 포함에 대해 작업하고 있으며 이들을 호출하는 루트 파일에 매개 변수 목록을 설정하는 상황이 있습니다. 그러나 일부 매개 변수가 사용되지 않는 일부 경우에는 매개 변수가 설정되지 않습니다. 매개 변수가 설정되어 있는지 확인하는 조건문을 만들고 싶습니다. 그렇다면 매개 변수가 설정되어 있는지 확인한 다음 자리 표시자를 전혀 표시하지 마십시오. 여기에 내 코드입니다 :JSP 매개 변수를 전달한 다음 해당 매개 변수가 있는지 확인합니다.
index.jsp를
<jsp:include page="include.jsp">
<jsp:param name="title" value="Title of Product"/>
<jsp:param name="instructor" value="Some Donkus"/>
<jsp:param name="artist" value=""/>
<jsp:param name="album" value=""/>
</jsp:include>
include.jsp
<ul>
<c:if test="${!empty param.title}">
<li class="instructor">Title: <span><%= request.getParameter("title") %></span></li>
</c:if>
<c:if test="${!empty param.instructor}">
<li class="instructor">Instructor: <span><%= request.getParameter("instructor") %></span></li>
</c:if>
<c:if test="${!empty param.artist}">
<li class="instructor">Artist: <span><%= request.getParameter("artist") %></span></li>
</c:if>
<c:if test="${!empty param.album}">
<li class="instructor">Album: <span><%= request.getParameter("album") %></span></li>
</c:if>
</ul>
현재 결과 :
- 제목 : 제품
- Instruc의 제목 토르 : 일부 Donkus
- 아티스트 :
- 앨범 : 나는 include.jsp가 제대로 채울 얻을 수 있지만, 비록 ARTIST 및 앨범는, 자신의를 비어 있습니다
목록 항목이 계속 표시됩니다. 여기서 내가 뭘 잘못하고 있니?
JSTL을 사용하고 있으므로 스크립틀릿'<% = request.getParameter ("title") %>'을 제거하십시오. '$ {param.title}'또는 ' '이어야합니다. (제쳐두고 문제는 해결되지 않습니다) –
developerwjk