【问题标题】:Populating DTO class from javascript function从 javascript 函数填充 DTO 类
【发布时间】:2013-04-18 20:33:00
【问题描述】:

我正在研究一个 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);
            }
    <%
        }
    %>
}

直到 alert(strUser) 它工作正常,但在那之后就不行了,这里做错了什么?

更新--

好的,我知道了,它不会工作。谁能告诉我如何通过使用 Ajax 请求来解决此代码,我以前从未使用过 ajax 请求... 1)在 ConfigurationDAO 中传递参数 strUser 和调用方法“getSkillSetList”,以便它填充 DTO 类和 2)取回一个从 SkillSetDTO 到 jsp 的数组列表。

【问题讨论】:

  • 您应该在操作中填充列表。你不需要 ajax。

标签: javascript ajax struts dao dto


【解决方案1】:

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

【讨论】:

  • 你能告诉我如何使用 ajax 来解析代码吗,我以前从未使用过 ajax 请求... 1)在 ConfigurationDAO 中调用方法 getSkillSetList 以便它填充 DTO 类和 2)返回从 DTO 到 jsp 的数组列表。
猜你喜欢
  • 2020-12-17
  • 1970-01-01
  • 1970-01-01
  • 2017-03-17
  • 2021-12-27
  • 1970-01-01
  • 2020-10-30
  • 2014-02-18
  • 2022-12-15
相关资源
最近更新 更多