getParameterValues只能取到第一个

叶师傅经常说不要轻看一点小问题,因为小问题可能会引发大问题。比如吃饭,你认识很简单的事,结果牙掉了。
不说了 ,上代码。

public static List<SupportSpecTransfersNe>  postTransfersList(HttpServletRequest request,HttpServletResponse response,String balkNo,Date addTime){
            List<SupportSpecTransfersNe> list=new ArrayList<SupportSpecTransfersNe>();
            try{
                **String[] tagNames=request.getParameterValues("tag");**
                String[] stlNumNames=request.getParameterValues("stlNum");
                String[] circuitTypeIdNames=request.getParameterValues("circuitTypeId");
                String[] aEquipFacIdNames=request.getParameterValues("aEquipFacId");
                String[] aNeNames=request.getParameterValues("aNeName");
                String[] aDistrictIdNames=request.getParameterValues("aDistrictId");
                String[] aSubNames=request.getParameterValues("aSubName");
                String[] aBowlNames=request.getParameterValues("aBowl");
                String[] aPortNames=request.getParameterValues("aPort");
                String[] aSloTimeNames=request.getParameterValues("aSloTime");
                String[] zEquipFacIdNames =request.getParameterValues("zEquipFacId");
                String[] zNeNames =request.getParameterValues("zNeName");
                String[] zDistrictIdNames =request.getParameterValues("zDistrictId");
                String[] zSubNames =request.getParameterValues("zSubName");
                String[] zBowlNames =request.getParameterValues("zBowl");
                String[] zPortNames =request.getParameterValues("zPort");
                String[] zSloTimeNames =request.getParameterValues("zSloTime");
                //如果专线号是必选项还好
                if(tagNames!=null && tagNames.length>0){
                    for(int i=0;i<tagNames.length;i++){
                        SupportSpecTransfersNe ne=new SupportSpecTransfersNe();
                        ne.setBalkNo(balkNo);
                        ne.setStlNum(stlNumNames[i]);
                        ne.setCircuitTypeId(Integer.parseInt(circuitTypeIdNames[i]));
                        ne.setaEquipFacId(Integer.parseInt(aEquipFacIdNames[i]));
                        ne.setaNeName(aNeNames[i]);
                        ne.setaDistrictId(Integer.parseInt(aDistrictIdNames[i]));
                        ne.setaSubName(aSubNames[i]);
                        ne.setaBowl(aBowlNames[i]);
                        ne.setaPort(aPortNames[i]);
                        ne.setaSloTime(aSloTimeNames[i]);
                        ne.setzEquipFacId(Integer.parseInt(zEquipFacIdNames[i]));
                        ne.setzNeName(zNeNames[i]);
                        ne.setzDistrictId(Integer.parseInt(zDistrictIdNames[i]));
                        ne.setzSubName(zSubNames[i]);
                        ne.setzBowl(zBowlNames[i]);
                        ne.setzPort(zPortNames[i]);
                        ne.setzSloTime(zSloTimeNames[i]);
                        ne.setOperaTime(addTime);
                        list.add(ne);
                    }
                }
            }catch(Exception e){
                log.error(balkNo+"获取传输故障后处理信息错误",e);
                return new ArrayList<SupportSpecTransfersNe>();
            }
            return list;
        }

就是死活取不到前台传过来的值
request.getParameterValues(“aPort”)
按理说不应该呀 ,这是标准得取html标签名称是一样的值 。
于是我看了一下前台

function addXinYuan(){
    var row=transfersInfo1.insertRow(transfersInfo1.rows.length);
     var col2=row.insertCell(0);
     var idnum=transfersInfo1.rows.length+1;
      col2.innerHTML= "“;

一开始是觉得应该取不到innerHTML里面的值 。

后来也查了这么多的网上写的,说只要写在form里应该后面就能取到。

问了一下叶师傅。

他用几秒钟钟看了一下jsp页面说,这应该就是html页面的问题。

本来是:


<tiles:insert definition="baseDef" flush="true">
<tiles:put name="bodyInput" type="string">  
<form name='form1' method='post'>

修改后:

<form name='form1' method='post'>
<tiles:insert definition="baseDef" flush="true">
<tiles:put name="bodyInput" type="string">  

叶师傅说 标准的 form应该是放在最外面,只能form包table ,不能table包form,所以有些值 传不过去也是应该的。

为什么我看不出来的问题,去请教叶师傅就是人家一分钟就解决了呢?朵朵说这很正常。

但是看我第一段代码,这样循环取前台的数据有一个问题,因为必填项,这就是我说为什么加一个String[] tagNames=request.getParameterValues(“tag”); tag这是一个隐藏域,用来知道前面具体传过来多少条记录。
可是点如果前台传过来一个空纪录,可是tag还是有的,结果就出成一个空对象,保存进去。??????????不知道该怎么办。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值