0

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

我在 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/>");    
}

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

谢谢普拉泰克

4

1 回答 1

0
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("/>");
}
于 2013-06-02T21:16:16.017 回答