将一个变量从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方法来单独更改值而无需重新加载页面