当前位置: 首页 > 面试题库 >

将参数从AJAX传递到JSP页面

秦育
2023-03-14
问题内容

我试图将参数从AJAX传递回我的JSP页面。这是我的示例代码:

JS文件:

$(document).ready(function() { 
            $.ajax({
            type: "GET",
            url: "URL...",
            dataType: "xml",
            success: function(xml) {
                $(xml).find('Rowsets').each(function(){ 
                            var x = $(this).find('Auto_Id').text() // Assign data from Auto_Id into variable x
                    document.form.y.value = x; // Pass the parameter back to the JSP page
                    });
                }
    });
});

.JSP文件:

<FORM name="form"><input name="y" value="" /></FORM> //value left blank for AJAX to auto-populate

上面的代码有效-我能够获得参数x。但是,是否可以在同一.JSP页面上将x的值转换为以下格式?

<%= session.getAttribute("x") %>

或者,获取x的值并将其传递给Java标签<%=%>?

这样做的目的是在页面加载时从XML(通过AJAX)获取参数,将参数传递回我的JSP页面,以便我可以使用它动态创建URL(例如“ http://
xyz&Param =” + session.getAttribute(“ x”)+“”)。请注意,必须在jsp页面的Java标签<%=
....%>中定义URL。


问题答案:

您不能在scriptlet中使用Javascript变量。我希望您知道,JSP是在服务器端以及在进行AJAX调用之前执行的。您应该对代码进行一些调整以实现此目的,并在JS中构造URL。像这样,

在JSP中,您可以拥有

<input type='hidden' value='<%=dynamicallyCreatedURL%>' id='dynamicallyCreatedURL'/>

阅读Ajax Response回调中的上述隐藏元素以构造URL。您可以在任何地方使用构造的url。在这里我用作形式动作

$(xml).find('Rowsets').each(function(){
    var x = $(this).find('Auto_Id').text() // Assign data from Auto_Id into variable
    document.form.y.value = x; // Pass the parameter back to the JSP page

    //Here construct the URL and set as forma action
   var dynamicallyCreatedURL = document.getElementById('dynamicallyCreatedURL').value+'?param='+x; 
document.form.action = dynamicallyCreatedURL;
}


 类似资料:
  • 我对JSP/servlets相当陌生,我一直在研究一些东西,它已经工作了一段时间。我有一个名为'telgir.jsp'的jsp,我从这个jsp向一个名为'tel Kayit'的servlet传递一个URL参数。 在LocalHost上运行时JSP页面的一个示例URL: 当我在servlet中接收到参数时,参数发生了变化,因此无法正确地对其进行解码并获得结果。根据我的研究,我意识到“%”符号使我的代

  • 我正在尝试将包含object的ArrayList从servlet传递到JSP。但是 Servlet文件: JSP文件:

  • 我正在尝试将某些值从servlet传递到JSP页面,并添加已传递到标记的值,阅读了许多文章,我得到了以下代码。 使用输入页面选择文件 验证上传的文件 调用上传。java将上传的文件保存在WEB-INF中 在上载的文件中,选定的文件保存为“我的”。txt 使用缓冲区读取文件内容并将其保存到变量 将其传递到JSP页面 上载JAVA 上传文件后, mypage.jsp 现在,当我点击上传按钮完成所有这些

  • 我已经创建了liferay portlet,在其中,我只需从Api获取天气数据,并通过ajax获取数据,如下所示,现在我想将这些json数据从ajax传递到portlet页面,并将其保存在portlet文件中。我是liferay的新手,请任何人指导如何做到这一点。 这是portlet文件

  • 问题内容: 我想将值传递给javascript。如果可能的话,我该怎么办?如何在后备bean中接收它们? 问题答案:

  • 问题内容: 我们已经设置了一些参数来在Jenkins中执行构建(使用简单的“参数化构建”设置)。作业被设置为Maven测试。有没有办法以编程方式将这些参数传递到我们的Java代码中?我们需要基于通过Jenkins设置的参数来执行某些更新功能。 问题答案: 是的,您可以通过Maven执行将Jenkins参数传递给Java代码,如下所示: 请注意, $ JOB_PARAM_1 将捕获Jenkins上设

  • 问题内容: 当我尝试将Servlet中的列表值设置为会话变量并像JSP一样访问它时, 做得到 JSP 我在JSP中遇到错误,因为“列表无法解析为类型” 那我该怎么做呢?我想将列表从Servlet传递到JSP并填充一个下拉列表。 问题答案: 您要导入列表和演员表吗?

  • html或jsp向servlet发送值的唯一方式似乎是通过表单,我尝试的方法是将其作为隐藏参数传递,如下所示: 但是在我向其提交此表单的servlet中,我得到一个编译错误“String conly be converty to list”,用于以下内容: 只需先将参数转换为对象类型,然后再将其转换为列表,如下所示,就会产生相同的异常,但这一次是运行时异常: 是否有任何方法将列表传递给servle