是否可以将JavaScript变量传递给Scriptlet中的Java代码

时间:2013-07-14 09:19:38

标签: java javascript

我在函数中有一个Scriptlet,它从Session获取数据并检查Map中的值

我可以将用户选择的选项(一个javascript变量)传递给Map ??

function checker()
{

    var selObj = document.getElementById('selSeaShells');
    var optionselectedvalue = selObj.options[selObj.selectedIndex].value.split(':')[0];
    if(optionselectedvalue==''||optionselectedvalue==null)
    {
        alert('Select a Book');
        return false;
    }

    if (!text_form.quan.value)
    {
        alert('Enter Quantity');
        return false;
    }

    var selectedbook = optionselectedvalue;
    var selectedquantity = text_form.quan.value;

    <%
        Map cart = (Map) session.getAttribute("cart");

        if(cart.containsKey(selectedbook))
        {
            String quant = (String) cart.get(str);

        }

    %>

    return true;
}

2 个答案:

答案 0 :(得分:6)

javascript 在客户端播放, JSP 在服务器端播放。

您需要做出服务器请求。并将该字符串发送一个查询参数。

您可能会误解同一文档中存在jspjavascript。是的,但JSP部分在服务器端本身编译,JSP输出发送到客户端。

因此,解决方案是:转到html表单提交或转到Ajax请求。

答案 1 :(得分:0)

java处理在服务器端完成,javacript在客户端执行。如果你在html页面上查看源代码,你将找不到任何map。因此你无法将javascript值传递给java代码(因为java代码已经被服务器处理了,而且它已经没有了。)

如果您真的想将javascript值传递给服务器端,您可以获取ajax或表单提交的帮助,如Baadshah指出的那样