Как показать выпадающий результат на основе выбранной радиокнопки | JSP - PullRequest
0 голосов
/ 29 августа 2018

Я пытаюсь написать страницу JSP, на которой необходимо отобразить раскрывающийся список состояний на основе переключателя выбора страны на той же странице. Когда я запускаю страницу, она показывает c: в противном случае выпадающий список даже после выбора переключателя США. Пожалуйста, помогите

USA:<html:radio property="country" value="country" >
<c:set var ="p" value="usa"/>
</html:radio>

Germany:<html:radio property="country" value="country" >
<c:set var ="p" value="germany"/>
</html:radio>

<br>
list:
<c:choose>
<c:when  test = "${p == processors }" >

//drop down for states in USA
</c:when>
<c:otherwise >
//drop down for states in germany
</c:otherwise>
</c:choose>
enter code here

1 Ответ

0 голосов
/ 29 августа 2018

Вы должны каким-то образом распространять информацию о выборе пользователя на стороне сервера, потому что с помощью JSP вы в первую очередь можете сделать это таким образом. Рабочий пример:

<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<HTML>
    <HEAD>
        <TITLE>Reading Radio Buttons</TITLE>
    </HEAD>

    <BODY>
        <H1>Reading Radio Buttons</H1>
        <%
            boolean radio2checked = false;
            if(request.getParameter("radios") != null) {
                if(request.getParameter("radios").equals("radio1")) {
                    out.println("Radio button 1 was selected.<BR>");
                }
                else {
                    out.println("Radio button 1 was not selected.<BR>");
                }
                if(request.getParameter("radios").equals("radio2")) {
                    out.println("Radio button 2 was selected.<BR>");
                    radio2checked = true;
                }
                else {
                    out.println("Radio button 2 was not selected.<BR>");
                }
            }
            pageContext.setAttribute("showUSAdropdown", radio2checked);
            String checked = radio2checked ? "checked=\"checked\"" : "";
        %>
        <FORM name="radioform" METHOD="post">
             <INPUT TYPE="radio" onclick="document.radioform.submit()" NAME="radios"     VALUE="radio1" CHECKED>
             Radio Button 1
            <BR>
            <INPUT TYPE="radio" <%=checked%> onclick="document.radioform.submit()" NAME="radios" VALUE="radio2">
             Radio Button 2
            <BR>
            States:
            <SELECT name="states">
             <c:choose>
                <c:when test="${showUSAdropdown}">
                    <option>Alabama</option>
                    <option>Washington</option>
                </c:when>
                <c:otherwise>
                    <option>Germany</option>
                </c:otherwise>
            </c:choose>
            </SELECT>
        </FORM>
    </BODY>
</HTML>
...