我遇到了代码的一个问题。我想让我的代码可重复使用。我能够实现这一功能。
我正在使用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/>");
}
但是这不支持代码重用。任何人都可以用小代码帮助我解决这个问题。
由于 Prateek
答案 0 :(得分: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("/>");
}