0
사용자가 추가 할 노트 수를 결정하도록 허용하려고합니다. 사용자가 0을 결정하면 0 입력 상자가 나타나고, 1이면 1 등이됩니다. 및을 사용하여 다음 코드로이 작업을 시도했습니다. 작동하지 않습니다. 사용자가 먼저 선택을 제출하도록해야합니까?JSTL <c:if>을 사용하여 특정 사용자 입력 수 허용
<td><select name="numberNotes" id="numberNotes">
<option value='0'>0</option>
<option value='1'>1</option>
<option value='2'>2</option>
<option value='3'>3</option>
<option value='4'>4</option>
<option value='5'>5</option>
</select></td>
<c:set var="userChoice" scope="session" value="${numberNotes}"/>
<c:if test="${userChoice == '0'}">
</c:if>
<c:if test="${userChoice == '1'}">
<td>Note 1: </td><td><input type="text" name="notes" /></td>
</c:if>
<c:if test="${userChoice == '2'}">
<td>Note 1: </td><td><input type="text" name="notes" /></td>
<td>Note 2: </td><td><input type="text" name="notes" /></td>
</c:if>
<c:if test="${userChoice == '3'}">
<td>Note 1: </td><td><input type="text" name="notes" /></td>
<td>Note 2: </td><td><input type="text" name="notes" /></td>
<td>Note 3: </td><td><input type="text" name="notes" /></td>
</c:if>
<c:if test="${userChoice == '4'}">
<td>Note 1: </td><td><input type="text" name="notes" /></td>
<td>Note 2: </td><td><input type="text" name="notes" /></td>
<td>Note 3: </td><td><input type="text" name="notes" /></td>
<td>Note 4: </td><td><input type="text" name="notes" /></td>
</c:if>
<c:if test="${userChoice == '5'}">
<td>Note 1: </td><td><input type="text" name="notes" /></td>
<td>Note 2: </td><td><input type="text" name="notes" /></td>
<td>Note 3: </td><td><input type="text" name="notes" /></td>
<td>Note 4: </td><td><input type="text" name="notes" /></td>
<td>Note 5: </td><td><input type="text" name="notes" /></td>
</c:if>
브라우저에 HTML이 전송되기 전에 * JSTL 태그가 서버에서 실행됩니다. 콤보 박스에서 값을 선택하는 사용자는 HTML이 서버에서 전송 된 후 브라우저에서 발생합니다. 사용자 선택에 따라 동적으로 변경하려면 브라우저에서 실행되는 JavaScript로 작성해야합니다. 서버에서 JSTL을 실행할 수 없습니다. – Andreas
@ Andreas가 말했어, 나도 그렇게 할거야. JSP는 "PHP처럼", 서버에서 실행되며, 클라이언트는 JSP 언어에서 아무 것도받지 못합니다. 클라이언트에 대한 동적 동작을 원하면 Javascript를 사용해야합니다. – AxelH