struts action 与 jsp 页面数据交互实例

6 篇文章 0 订阅
2 篇文章 0 订阅

一直没用过struts,最近工作涉及到使用struts action 返回前端定义的枚举值问题,话不多说,直接上码。

  • 编辑Action类。

public class FindXzattrAction extends Action {
    public ActionForward execute(ActionMapping mapping, ActionForm form,HttpServletRequest req, HttpServletResponse resp) throws Exception {
        Logger logger = Logger.getLogger(FindXzattrAction.class.getName());
        resp.setContentType("text/xml;charset=UTF-8");
        resp.setHeader("Cache-Control", "no-cache");
        PrintWriter out = resp.getWriter();
        List<String> xzSaleList = CommonUtil.findXzSale();
        out.println("<response>");
        out.println("<code>");
        String xzSaleInfo = StringUtils.join(xzSaleList, "#");
        logger.error(xzSaleInfo);
        out.println("<MSG>"+xzSaleInfo+"</MSG>");
        out.println("</code>");
        out.println("</response>");
        return null;
    }
}   

  • 配置struts.xml

<action-mappings>

    <action path="/FindXzattr" type="action.FindXzattrAction" scope="request" />

</action-mappings>

  • 编辑前端jsp和js

        导入相关js,

       

        <SCRIPT src="<%=request.getContextPath() %>/js/base.js"></SCRIPT>
        <SCRIPT src="<%=request.getContextPath() %>/js/jquery.js"></SCRIPT>

          <SCRIPT src="<%=request.getContextPath() %>/js/xzxinxi.js"></SCRIPT>

 

更改JS

//调用上文写好的action

function queryXzsale(){
    var url = "/team/FindXzattr.do";
    createRequestObject();
    XMLHttpReq.open("GET", url, false);  //false 为同步
    XMLHttpReq.onreadystatechange = queryResponseXzsale;
    XMLHttpReq.send(null);
}
//onload调用的函数
function queryResponseXzsale() {
    if (XMLHttpReq.readyState == 4) { // 判断对象状态
        if (XMLHttpReq.status == 200) { // 信息已经成功返回,开始处理信息
            loadListXzsale();
        } else { //页面不正常
            window.alert("您所请求的页面有异常。");
        }
    }
}

//解析响应报文
function loadListXzsale() {
    var xmlDoc = XMLHttpReq.responseXML;
    var codes = xmlDoc.getElementsByTagName("code");
    var kvArr = new Array();
    if (codes[0].getElementsByTagName("MSG")[0] != null) {
        if (codes[0].getElementsByTagName("MSG")[0].firstChild != null) {
            var msg = codes[0].getElementsByTagName("MSG")[0].firstChild.nodeValue;
            if (msg != null && msg != "") {
                var xzArr = new Array();
                xzArr = msg.split("#");
                for (m = 0, len = xzArr.length; m < len; m++) {
                    var itemArr = new Array(2);
                    itemArr = xzArr[m].split("|");
                    kvArr[m] = new KeyValue(itemArr[1], itemArr[0]);
                }
            } else {
                window.alert("查询失败!");
            }
        }
    }

    //设置下拉框
    base.setValueToSelect("zdaddXzsale", kvArr, 2);
}

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值