Java 使用jstl foreach标记生成要检查的单选按钮
我有一张地图(Java 使用jstl foreach标记生成要检查的单选按钮,java,jsp,jstl,Java,Jsp,Jstl,我有一张地图(${userOptions})。例如{1=B,2=B,3=D,4=A,5=D}和nxtId包含1或2或3等 如果返回成功,请检查变量值是否包含A或B或C或D。如果值为“A”,则必须选中相应的单选按钮,并且必须取消选中剩余的单选按钮,依此类推 我目前正在使用以下工具: <c:forEach var="useroption" items="${userOptions}"> <c:out value="${useroption.key == nxtId}"/&g
${userOptions}
)。例如{1=B,2=B,3=D,4=A,5=D}
和nxtId
包含1或2或3等
如果
返回成功,请检查变量值是否包含A或B或C或D。如果值为“A”,则必须选中相应的单选按钮,并且必须取消选中剩余的单选按钮,依此类推
我目前正在使用以下工具:
<c:forEach var="useroption" items="${userOptions}">
<c:out value="${useroption.key == nxtId}"/>
<script>
alert("${useroption.key == nxtId}");
</script>
<c:if test="${useroption.key == nxtId}">
<c:set var="check" value="true"/>
<c:set var="value" value="${useroption.value}"/>
</c:if>
<script>
alert("check value is"+${check});
</script>
</c:forEach>
<c:choose>
<c:when test="${check eq true}">
<script>
alert("user option is "+${useroption.value});
</script>
<c:forEach var="opt" items="${questionForm}">
<c:choose>
<c:when test="${value == 'A' }">
<tr>
<td style="padding-left:200px;">
<input type="hidden" name="id" id="id" value="${opt.question_id}"/>
<h4>Q <c:out value="${opt.question_id}"/>.<c:out value="${opt.question}"/></h4>
<input type="radio" name="option" value="A" id="A" checked="checked">
A. <c:out value="${opt.option1}"/><br>
<input type="radio" name="option" value="B" id="B">
B. <c:out value="${opt.option2}"/><br>
<input type="radio" name="option" value="C" id="C">
C. <c:out value="${opt.option3}"/><br>
<input type="radio" name="option" value="D" id="D">
D. <c:out value="${opt.option4}"/><br><br>
</td>
</tr>
<tr align="center">
<td>
<c:if test="${opt.question_id > 6}">
<input type="submit" value="submit"/>
</c:if>
</td>
</tr>
</c:when>
<c:when test="${value == 'B' }">
<tr>
<td style="padding-left:200px;">
<input type="hidden" name="id" id="id" value="${opt.question_id}"/>
<h4>Q <c:out value="${opt.question_id}"/>.<c:out value="${opt.question}"/></h4>
<input type="radio" name="option" value="A" id="A" >
A. <c:out value="${opt.option1}"/><br>
<input type="radio" name="option" value="B" id="B" checked="checked">
B. <c:out value="${opt.option2}"/><br>
<input type="radio" name="option" value="C" id="C">
C. <c:out value="${opt.option3}"/><br>
<input type="radio" name="option" value="D" id="D">
D. <c:out value="${opt.option4}"/><br><br>
</td>
<tr align="center">
<td>
<c:if test="${opt.question_id > 6}">
<input type="submit" value="submit"/>
</c:if>
</td>
</tr>
</c:when>
<c:when test="${value == 'C' }">
<tr>
<td style="padding-left:200px;">
<input type="hidden" name="id" id="id" value="${opt.question_id}"/>
<h4>Q <c:out value="${opt.question_id}"/>.<c:out value="${opt.question}"/></h4>
<input type="radio" name="option" value="A" id="A" >
A. <c:out value="${opt.option1}"/><br>
<input type="radio" name="option" value="B" id="B">
B. <c:out value="${opt.option2}"/><br>
<input type="radio" name="option" value="C" id="C" checked="checked">
C. <c:out value="${opt.option3}"/><br>
<input type="radio" name="option" value="D" id="D">
D. <c:out value="${opt.option4}"/><br><br>
</td>
<tr align="center">
<td>
<c:if test="${opt.question_id > 6}">
<input type="submit" value="submit"/>
</c:if>
</td>
</tr>
</c:when>
<c:when test="${value == 'D' }">
<tr>
<td style="padding-left:200px;">
<input type="hidden" name="id" id="id" value="${opt.question_id}"/>
<h4>Q <c:out value="${opt.question_id}"/>.<c:out value="${opt.question}"/></h4>
<input type="radio" name="option" value="A" id="A" >
A. <c:out value="${opt.option1}"/><br>
<input type="radio" name="option" value="B" id="B" >
B. <c:out value="${opt.option2}"/><br>
<input type="radio" name="option" value="C" id="C">
C. <c:out value="${opt.option3}"/><br>
<input type="radio" name="option" value="D" id="D" checked="checked">
D. <c:out value="${opt.option4}"/><br><br>
</td>
<tr align="center">
<td>
<c:if test="${opt.question_id > 6}">
<input type="submit" value="submit"/>
</c:if>
</td>
</tr>
</c:when>
<c:otherwise>
<script>
alert("hello");
</script>
<td style="padding-left:200px;">
<input type="hidden" name="id" id="id" value="${opt.question_id}"/>
<h4>Q <c:out value="${opt.question_id}"/>.<c:out value="${opt.question}"/></h4>
<input type="radio" name="option" value="A" id="A" >
A. <c:out value="${opt.option1}"/><br>
<input type="radio" name="option" value="B" id="B">
B. <c:out value="${opt.option2}"/><br>
<input type="radio" name="option" value="C" id="C" >
C. <c:out value="${opt.option3}"/><br>
<input type="radio" name="option" value="D" id="D">
D. <c:out value="${opt.option4}"/><br><br>
</td>
<tr align="center">
<td>
<c:if test="${opt.question_id > 6}">
<input type="submit" value="submit"/>
</c:if>
</td>
</tr>
</c:otherwise>
</c:choose>
</c:forEach>
</c:when>
<c:otherwise>
</c:otherwise>
</c:choose>
警报(${useroption.key==nxtId});
警报(“检查值为“+${check}”);
警报(“用户选项为“+${useroption.value}”);
Q
A.
B.
C.
D.
Q
A.
B.
C.
D.
Q
A.
B.
C.
D.
Q
A.
B.
C.
D.
警惕(“你好”);
Q
A.
B.
C.
D.
有更好的方法吗?您可以在中完成,而无需复制类似的内容
A. <c:out value="${opt.option1}"/><br>
<input type="radio" name="option" value="B" id="B" "${value == 'B' ? 'checked' : ''}">
B. <c:out value="${opt.option2}"/><br>
<input type="radio" name="option" value="C" id="C" "${value == 'C' ? 'checked' : ''}">
C. <c:out value="${opt.option3}"/><br>
<input type="radio" name="option" value="D" id="D" "${value == 'D' ? 'checked' : ''}" >
D. <c:out value="${opt.option4}"/><br><br>
A.
B.
C.
D.
A.
B.
C.
D.
从上面的代码你可以得到你想要的。。。
通过使用JSTL和三元运算符,您可以用更少的代码实现您的功能
希望对你有帮助
A. <c:out value="${opt.option1}"/><br>
<input type="radio" name="option" value="B" id="B" ${value eq 'B' ? 'checked' : ''}>
B. <c:out value="${opt.option2}"/><br>
<input type="radio" name="option" value="C" id="C" ${value eq 'C' ? 'checked' : ''}>
C. <c:out value="${opt.option3}"/><br>
<input type="radio" name="option" value="D" id="D" ${value eq 'D' ? 'checked' : ''} >
D. <c:out value="${opt.option4}"/><br><br>