页面取值以及或取下拉框的值(Ajax适用于ssh(Strtus1框架))

一、后台传递对象

public ActionForward getInvB(ActionMapping mapping,
            ActionForm form, HttpServletRequest request,
            HttpServletResponse response) throws Exception{

        List list=invPlanService.getInvPlanName();
        request.setAttribute("list", list);
        return mapping.findForward("list");
    }

二、页面下拉框遍历属性值(第一种)
(1)

<td height="20" class="tr1px" style="width:400px;">
    <div align="right" class="style1">投标名称:div>
td>

<td class="tr1px style1">
                          
    <select id="planName" name="planName"  style="height:30px">
        <c:forEach var="item" items="${list }"> 
            <option value="${item.ipId}" >${item.planName}option>
        c:forEach>
    select>
<td> 

效果图
页面取值以及或取下拉框的值(Ajax适用于ssh(Strtus1框架))_第1张图片
(2)获取下拉框的值(jquery Ajax传递值给后台)

function  query(){

        var Arrt = new Array();
        var Arrd = new Array();
        var Arrd1 = new Array();
        //获取到下拉框
        var options=$("#planName option:selected"); 
        alert(options.val());
     $.ajax({
     //此url指向Action的方法(注意Ajax在Strtus1中的写法)
         url:"<%=basePath%>/pds/InvBoundaccptAction.do?method=getInvBoundaccpt",
         type:"GET",
         //.val()获取到属性值,点击请求会发送值到后台。
         data: {ipId:options.val()},
         dataType: "json",
         //result 代表下边方法封装好的json
         success : function(result) {

             for(var i=0;i//退回保证金
                 Arrd1.push(result[i].accptAmount);//缴纳保证金

             }
}

(3)后台接收值(ssh框架 Strtus1框架)

public ActionForward getInvBoundaccpt(ActionMapping mapping,
            ActionForm form, HttpServletRequest request,
            HttpServletResponse response) throws Exception{
        TInvBoundaccptDTO dto = new TInvBoundaccptDTO();
        //通过request.getParmeter获取Ajax传递的值。
        String ipId =request.getParameter("ipId");
        if(ipId != null && !"".equals(ipId)){
            dto.setIpId(ipId);
        }
            List dtolist = invBoundaccptService.getTInvBoundaccpt(dto);
        //封装成json数据,传递给jsp页面(Ajax的result代表这个结果集)
        JSONArray json = JSONArray.fromObject(dtolist);
         PrintWriter out = response.getWriter();  
            out.println(json);  
            out.flush();  
            out.close();
        return null;
    }

三、第2种获取下拉框属性值(页面固定的值传给后台)
(1)

设置默认选中selected="selected"

(2)获取值

function queryFactoreval()
        {
        //获取下拉框的值
            var protype = document.getElementById("protype").value;
            var state = document.getElementById("state").value;
            var form = document.forms[0];
            //此代码拼接的参数有可能会乱码,参考方式如下
            form.action = "<%=basePath%>/emp/EmpProfessAction.do?method=getEmpProfess&protype="+protype+"&state="+state;
            form.submit();
        }
 //获取页面url传递的参数

    String str1= request.getParameter("protype");
    String str2= request.getParameter("state");
    String protype=“”;
    String state=“”;
    //处理页面传参乱码
    if(str1 != null && !"".equals(str1)){
        protype = new String(str1.getBytes("ISO-8859-1"),"GBK");
    }
    if(str2 != null && !"".equals(str2)){
        state = new String(str2.getBytes("ISO-8859-1"),"GBK");
    }

总结:strtus1 Ajax(注意)
(1)页面有n个Ajax请求,就必须写n个方法响应此请求。(注意Ajax是怎么返回数据到页面的)
(2)如果页面有request.setAttribute(“list”, list);必须先请求这个方法的url,传递数据到页面,然后再根据需求请求Ajax方法。
(3)主要在于前台页面如何获取下拉框的属性值。

你可能感兴趣的:(ssh)