簡體   English   中英

使用Servlet映射名稱相同但值不同的單選按鈕所選項目

[英]Use Servlet to map radio button selected item which got same name but different value

我的代碼面臨一個問題。我想使我的代碼可重用 。我能夠實現此功能。

我在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。我也可以檢索它。但是我無法在后退按鈕click(后退按鈕)中為單選按鈕分配相同的值是一個Submit Button)。是否可以通過任何方式使用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

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM