当前位置:编程学习 > JAVA >>

servlet多个参数传递问题

 for(int i=0;i<al.size();i++){
 UserBean ub=(UserBean)al.get(i);
 pw.println("<tr>");
 pw.println("<td>"+ub.getSno()+"</td>");
 pw.println("<td>"+ub.getSname()+"</td>");
 pw.println("<td>"+ub.getSsex()+"</td>");
 pw.println("<td>"+ub.getBirthday()+"</td>");
 pw.println("<td>"+ub.getMno()+"</td>");
 pw.println("<td>"+ub.getClassNo()+"</td>");
 pw.println("<td><a href=Update?uSno="+ub.getSno()+"&uSname="+ub.getSname()+"&uSsex="+ub.getSsex()+"&uBirthday="+ub.getBirthday()+"&uMno="+ub.getMno()+"&uClassno="+ub.getClassNo()+">修改用户</a></td>");
 
 pw.println("<td><a href=DelChuli?sno="+ub.getSno()+" onclick=\"return window.confirm('确定删除吗?')\">删除用户</a></td>");
 pw.println("</tr>");
 
 }


出个第一个参数uSno可以传过去,其他的都不行,求解? --------------------编程问答-------------------- 怎么接受的呢? --------------------编程问答--------------------
pw.println("<html>");
        pw.println("<body>");         
        pw.println("<h1>修改用户界面</h1>");
        pw.println("<form action=?>");
        pw.println("<table border=1>");
        pw.println("<tr><td>学号</td><td><input type=text value="+req.getParameter("uSno")+"></td></tr>");
        pw.println("<tr><td>姓名</td><td><input type=text value="+req.getParameter("uSname")+"></td></tr>");
    pw.println("<tr><td>性别</td><td><input type=text value="+req.getParameter("uSsex")+"></td></tr>");
    pw.println("<tr><td>生日</td><td><input type=text value="+req.getParameter("uBirthday")+"></td></tr>");
    pw.println("<tr><td>专业</td><td><input type=text value="+req.getParameter("uMno")+"></td></tr>");
    pw.println("<tr><td>班级</td><td><input type=text value="+req.getParameter("uClassno")+"></td></tr>");
        pw.println("</table></form>");
        pw.println("</body>");
        pw.println("</html>");
--------------------编程问答-------------------- request.getParameter("uSname") --------------------编程问答-------------------- 生成的连接是什么样的? --------------------编程问答--------------------
引用 3 楼 flagiris 的回复:
request.getParameter("uSname")
 public void doGet(HttpServletRequest req,HttpServletResponse res){
   
    //业务逻辑
    try{
    //处理中文乱码
    res.setContentType("text/html;charset=utf-8");
    PrintWriter pw=res.getWriter();
        //返回登录界面
        pw.println("<html>");
        pw.println("<body>");         
        pw.println("<h1>修改用户界面</h1>");
        pw.println("<form action=?>");
        pw.println("<table border=1>");
        pw.println("<tr><td>学号</td><td><input type=text value="+req.getParameter("uSno")+"></td></tr>");
        pw.println("<tr><td>姓名</td><td><input type=text value="+req.getParameter("uSname")+"></td></tr>");
    pw.println("<tr><td>性别</td><td><input type=text value="+req.getParameter("uSsex")+"></td></tr>");
    pw.println("<tr><td>生日</td><td><input type=text value="+req.getParameter("uBirthday")+"></td></tr>");
    pw.println("<tr><td>专业</td><td><input type=text value="+req.getParameter("uMno")+"></td></tr>");
    pw.println("<tr><td>班级</td><td><input type=text value="+req.getParameter("uClassno")+"></td></tr>");
        pw.println("</table></form>");
        pw.println("</body>");
        pw.println("</html>");
         
    }catch(Exception ex){
    ex.printStackTrace();
    }
   }
--------------------编程问答-------------------- 可能是ub.getSname()或其他的本来就没值吧。。
试试url中把uSname放在uSno前面呢。。 --------------------编程问答-------------------- &改为&看看 --------------------编程问答--------------------
引用 6 楼 flagiris 的回复:
可能是ub.getSname()或其他的本来就没值吧。。
试试url中把uSname放在uSno前面呢。。

把uSname放在前面可以,显示的是乱码;uSno也可以,其它的还是不行。 --------------------编程问答-------------------- 那就是中文乱码问题了。 --------------------编程问答-------------------- 可能跟乱码有关,先试试
Update?uSno=111&uSname=222&uSsex=333&uBirthday=444&uMno=555&uClassno=666
看能否能得到,取法没有问题,可能是参数值的问题。 --------------------编程问答--------------------
引用 9 楼 fangmingshijie 的回复:
那就是中文乱码问题了。


乱码也不该为null啊?应该也能显示出来吧。 --------------------编程问答--------------------
引用 7 楼 fangmingshijie 的回复:
&改为&看看



不管用。 --------------------编程问答-------------------- 打印一下req.getRequestURL().toString();看看是什么东西 --------------------编程问答--------------------
引用 10 楼 flagiris 的回复:
可能跟乱码有关,先试试
Update?uSno=111&uSname=222&uSsex=333&uBirthday=444&uMno=555&uClassno=666
看能否能得到,取法没有问题,可能是参数值的问题。



可以取到。难道真的是中文乱码问题?
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,