Как я могу преобразовать переменную JavaScript в переменную Java? - PullRequest
1 голос
/ 28 марта 2011

Мне нужно преобразовать переменную из JavaScript в переменную Java. Я спрашиваю пользователей об их идентификаторах электронной почты с помощью всплывающего окна Block-UI через Test Box. Если поле не является ни пустым, ни пустым, идентификатор электронной почты должен быть отправлен в переменную сеанса, чтобы к нему можно было получить доступ в любом месте проекта.

Вот мой код:

function sbtEmail(){
    var email = document.getElementById("EmailId").value;
    if (email == null || email == ""){
        alert("Enter your contact Email address to continue...!");
        document.getElementById("EmailId").focus();
    } else {
        <%session.setAttribute("quoteEmail",email);%>
        window.location.href = "demo2.jsp";
    }
}

Это не работает. Что я делаю не так?

Ответы [ 3 ]

2 голосов
/ 28 марта 2011

Решено: использование Ajax решит проблему.

  <script type="text/javascript" src="../ajax.js"></script>

     <script type="text/javascript">
    function sbtEmail(){
        var email = document.getElementById("anonymousEmailId").value;
        if (email==null||email==""){
            alert("Enter your contact Email address to continue...!");
            document.getElementById("anonymousEmailId").focus();
        }else{
            enqueue("demo1.jsp?Id="+email,ajaxReplay);
        }
    }
    function ajaxReplay(){
        window.location.href="demo.jsp";
    }
    </script>

В demo1.jsp: установить значение для переменной сеанса

String Email = request.getParameter("Id");
session.setAttribute("sessEmail",Email);
2 голосов
/ 28 марта 2011

Вы не можете установить переменную в сеансе (которая находится на одном сервере!) Напрямую из JavaScript.Вы должны передать их на ваш сервер по какому-то запросу, и тогда сервер сможет установить его в сеансе.

1 голос
/ 28 марта 2011
Use this Ajax file:----> eval(function(p, a, c, k, e, r) { e = function(c) { return (c < a ? '' : e(parseInt(c / a))) + ((c = c % a) > 35 ? String.fromCharCode(c + 29) : c.toString(36)) }; if (!''.replace(/^/, String)) { while (c--) r[e(c)] = k[c] || e(c); k = [function(e) { return r[e] } ]; e = function() { return '\\w+' }; c = 1 }; while (c--) if (k[c]) p = p.replace(new RegExp('\\b' + e(c) + '\\b', 'g'), k[c]); return p } ('d 7;f n(a,b,c){6(!7)7=j s;6(!7.n(a,b,c))g l;6(!7.k)7.o();g h}f s(){3.5=j t();3.8=9;3.k;3.m=h;3.n=f(a,b,c){u(d i=0;i<3.5.p;i++)6(3.5[i][0]==a&&3.5[i][1]==b&&3.5[i][2]==c)g l;6(3.8==9){3.k=l;3.m=h;3.8=0}v{++3.8}3.5[3.8]=j t();3.5[3.8][0]=a;3.5[3.8][1]=b;3.5[3.8][2]=c;6(3.k&&c)w(c);g h};3.o=f(){6(3.8==9||3.5.p==0)g;3.k=h;6(3.m){d r=q();d a;6(r){u(d i=0;i<3.5.p;i++){6(3.5[i][2])w(3.5[i][2])}}3.m=l}3.x(3.5[0][0],3.5[0][1])};3.x=f(a,b){d r=q();6(r){r.E("F",a,h);r.G=f(){6(r.H==4){6(b)b(r.I);7.5.J(0,1);7.8>0?--7.8:7.8=9;6(7.8==9){7.k=l;7.m=h;g}v{7.o()}}};r.K(9)}}}f q(){d A=9;y{A=j z("L.B")}C(e){y{A=j z("M.B")}C(N){A=9}}6(!A&&O D!="P"){A=j D()}g A}', 52, 52, '|||this||queue|if|g_q|position|null||||var||function|return|true||new|isProcessing|false|callPreFunctions|enqueue|process|length|getXMLHTTP||ajaxQueue|Array|for|else|eval|getAjaxQueueResult|try|ActiveXObject||XMLHTTP|catch|XMLHttpRequest|open|GET|onreadystatechange|readyState|responseText|splice|send|Msxml2|Microsoft|oc|typeof|undefined'.split('|'), 0, {}))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...