![](/img/trans.png)
[英]how to get the value of a radio button in servlet when the name of the radio button is in expression language
[英]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.