如何从动态范围中获取值

时间:2014-11-23 21:51:47

标签: java javascript html jsp servlets

我将获得从jsp到servlet的动态表单的值。 jsp中的代码如下

function AggiungiRiga(n_righe){


var numero_righe = n_righe.value;
var box = document.getElementById('box_righe');
if(isNaN(numero_righe)==true){
    box.innerHTML='';
}else{
    var righe = "";
    // Inserisco una riga ad ogni ciclo
    for( i=1; i<=numero_righe; i++){
        righe = righe+""+i+") Ricercatore  : <input type='text' name='rata"+i+" size='10'  maxlength='10'/><br/>";
        String s=rata1.florinda();
        out.println(s);
        }box.innerHTML=righe;

}
  return numero_righe;
 }
在servlet中,我会得到&#34; rata&#34; + i。的值 我怎么能这样做?

谢谢!

2 个答案:

答案 0 :(得分:0)

在基于servlet中表单类型的doGet或doPost方法中,您可以迭代所有参数并检查参数是否以 rata 开始,然后接受

获取所有参数名称使用 request.getParameterNames(),它将返回Enumeration。

Enumeration<String> params = request.getParameterNames();
while (params.hasMoreElements()) {
    String param = params.nextElement();
    if(param.startsWith("rata")){
         String value = request.getParameter(param); 
         //your code here
    }
}

答案 1 :(得分:0)

您必须将文本框包装在表单标记中。

// Inserisco una riga ad ogni ciclo
for( i=1; i<=numero_righe; i++){
    righe = righe+""+i+") Ricercatore  : <input type='text' 
                           name='rata"+i+" size='10'  maxlength='10'/><br/>";
    String s=rata1.florinda();
    out.println(s);
    }
    //Adding form tag  and submit button
    //Aggiunta di tag forma e pulsante di invio
    box.innerHTML="<form method=post action=myservlet >"
                     +righe
                     +"<input type=submit name=submit value=Submit />"
                     +"</form>";

因此,当您点击提交按钮时,表单将通过所有文本框中的所有值提交。

<强> MyServlet

protected void doPost(HttpServletRequest request,HttpServletResponse response)
 throws ServletException,IOException{
    Enumeration<String> rataList = request.getParameterNames();

   while(rataList.hasMoreElements()){
    request.getParameter(rataList.nextElement()); 
    //Do what you want here 
    //Fate quello che volete qui
    }


 }