从javascript函数填充DTO类

时间:2013-04-25 04:31:23

标签: javascript ajax struts dao dto

我正在研究dao dto struts架构 - 基本上我想在javascript中的每个更改功能上填充我的dto。我正在尝试遵循代码---

function onchangefunction() {
    var e = document.getElementById("userSelectList");
    strUser = e.options[e.selectedIndex].text;
    alert(strUser);
    strUser.toString();

    var x = document.getElementById("ToLB");
    var option = document.createElement("option");
    <%
        String strUser = request.getParameter("strUser");

        ArrayList < SkillSetDTO > skillsetlst = (ArrayList < SkillSetDTO > ) ConfigurationDAO.getInstance().getSkillSetList(strUser);
        SkillSetDTO skillsetDTO = new SkillSetDTO();
        for (int i = 0; i < skillsetlst.size(); i++) {
            skillsetDTO = (SkillSetDTO) skillsetlst.get(i);
            String skillSet = skillsetDTO.getSkillsets();
    %>
            option.text = "<%=skillSet%>";
            try {
                // for IE earlier than version 8
                x.add(option, x.options[null]);
            } catch (e) {
                x.add(option, null);
            }
    <%
        }
    %>
}

直到警报(strUser)它的工作正常,但之后没有,这里做错了什么?

UPDATE -

好的,我明白了,它不会工作。任何人都可以告诉我如何通过使用Ajax请求来解析此代码,我之前从未使用过ajax请求... 1)在ConfigurationDAO中传递参数strUser并调用methord“getSkillSetList”以便它将填充DTO类并且2)返回一个来自SkillSetDTO的arraylist到jsp。

1 个答案:

答案 0 :(得分:2)

这不起作用。您正在尝试在javascript中执行服务器端代码。服务器端代码将运行一次 - 在JavaScript运行之前(最初呈现页面时),但不会在onchange方法中重新运行。 可以使用服务器端代码来帮助动态构建javascript,但是您无法通过JavaScript与它进行交互。 如果您需要在JavaScript代码中与服务器进行交互,可以通过Ajax

进行