【问题标题】:Use Servlet to map radio button selected item which got same name but different value使用 Servlet 映射具有相同名称但值不同的单选按钮选定项
【发布时间】:2013-05-28 20:37:46
【问题描述】:

我遇到了一个代码问题。我想让我的代码可重用。我能够实现该功能。

我在 Servlet 中编写代码。这个 servlet 具有不同的功能。Servlet 处理递归事件,即所有事件每次都转到具有不同隐藏值的同一个 servlet。 我有一堆单选按钮,例如:

out.println("<INPUT TYPE=RADIO NAME=Q1 VALUE='A'/>script<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q1 VALUE='B'/>javaScript<BR/>");
out.println("<INPUT TYPE=RADIO NAME=Q1 VALUE='C'/>scripting<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q1 VALUE='D'/>js<BR/><BR/>"); 

用于检查四个单选按钮之一 - 我在 INPUT TYPE=RADIO NAME=Q1 VALUE='D' 中使用检查

我的问题是: 我在每次提交按钮单击时将单选按钮的值发送到 servlet。我也可以检索它。但是我无法在后退按钮单击时为单选按钮分配相同的值(后退按钮是提交按钮)。有什么方法可以使用java代码来选择具有值的单选按钮(因为每个单选按钮的名称都相同)。

我尝试了旧的常规方法来实现该功能。代码是-

if(q2.equalsIgnoreCase("E"))
{
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='E' checked/>echo \"Hello World\";<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='F'/>document.write(\"Hello World\");<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='G'/>(\"Hello World\");<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='H'/>response.write(\"Hello World\");<BR/><BR/>");    
}
if(q2.equalsIgnoreCase("F"))
{
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='E' />echo \"Hello World\";<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='F' checked/>document.write(\"Hello World\");<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='G'/>(\"Hello World\");<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='H'/>response.write(\"Hello World\");<BR/><BR/>");    
}
if(q2.equalsIgnoreCase("G"))
{
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='E' />echo \"Hello World\";<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='F' />document.write(\"Hello World\");<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='G'checked/>(\"Hello World\");<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='H'/>response.write(\"Hello World\");<BR/><BR/>");    
}
if(q2.equalsIgnoreCase("H"))
{
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='E' />echo \"Hello World\";<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='F' />document.write(\"Hello World\");<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='G' />(\"Hello World\");<BR/>"); 
out.println("<INPUT TYPE=RADIO NAME=Q2 VALUE='H' checked/>response.write(\"Hello World\");<BR/><BR/>");    
}

但这不支持代码重用性。任何人都可以在小代码中帮助我实现这个功能。

谢谢 普拉提克

【问题讨论】:

    标签: java html servlets


    【解决方案1】:
    private void printRadioButton(String letter, String selectedLetter) {
        out.print("<input type='radio' name='Q2' value='");
        out.print(letter);
        out.print("'");
        if (selectedLetter.equals(letter)) {
            out.print(" checked='checked'");
        }
        out.println("/>");
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-27
      • 1970-01-01
      • 2023-03-16
      • 2012-06-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多