将一个变量从Scriptlets传递给Javascript。

我有这段代码片段::

 function gotoa(){  var myVar =  }  

我想要做的是在我的JavaScript函数gotoa()中获取变量temp1的值。 在此特定代码中,我收到错误无效请求

 request.setAttribute("variable", temp1); 

我的主要目的是在某个按钮单击事件上调用函数a(),以便我的脚本让代码再次运行,并在变量temp1中传递新值。 然后将传递给gotoa()作为我的数据网格的源(不在此代码中)。 基本上我想刷一些按钮点击网格。 我做得对吗? 请帮忙。 谢谢。

当你在gotoa()需要变量temp1值时,执行以下操作:

 <% String temp1; // Store value in temp1 variable for later use PopulateTextbox obj = new PopulateTextbox(); temp1 = obj.method(); %>   

首先,将值赋给变量temp1。 然后使用scriptlet使用值= temp1的隐藏输入组件渲染JSP。 如果要validation,只需查看生成的HTML源,您应该看到隐藏的输入值等于变量。

提交表单时,hiddenTemp1的值将在Request中可用。 如果要更改此隐藏组件的值,可以在组件中重新设置该值。

首先让我告诉你我在这里发现的一些事情

1)设置和获取请求需要页面提交,否则它将不在参数中

2)Scriplet和jsp以不同的方式编译,因为你的scriplet compiliation总是发生(无论它是标题正文或页脚)首先

现在就我们如何做到这一点的建议

1)使用EJB对象而不是请求对象

2)使用隐藏的输入标签来设置和获取所需的值,将getter方法分配给输入标签的值,如’,’当你需要变更时需要更改,你需要提交表单,如果你不需要要重新加载的整个页面引用ajax方法来单独更改值而无需重新加载页面