0

私は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 リクエストを使用したことがありません... arraylist を SkillSetDTO から jsp に。

4

1 に答える 1

2

これはうまくいきません。JavaScript 内でサーバー側のコードを実行しようとしています。サーバー側のコードは、JavaScript が実行される前 (ページが最初にレンダリングされるとき) に 1 回実行されますが、onchange メソッドでは再実行されません。サーバー側のコードを使用して JavaScript を動的に構築することは可能ですが、JavaScript を介して操作することはできません。JavaScript コードでサーバーと対話する必要がある場合は、Ajax を介して行うことができます

于 2013-04-25T04:35:35.220 に答える